vpp.git
4 years agovrrp: add plugin providing vrrp support 81/24981/7
Matthew Smith [Tue, 11 Feb 2020 17:25:32 +0000 (11:25 -0600)]
vrrp: add plugin providing vrrp support

Type: feature

Add a new plugin to support HA using VRRPv3 (RFC 5798).

Change-Id: Iaa2c37e6172f8f41e9165f178f44d481f6e247b9
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agovppinfra: add 128-bit and 512-bit a ^ b ^ c shortcut 18/25118/1
Damjan Marion [Thu, 13 Feb 2020 17:14:06 +0000 (18:14 +0100)]
vppinfra: add 128-bit and 512-bit a ^ b ^ c shortcut

This allows us to combine 2 XOR operations into signle instruction
which makes difference in crypto op:

- in x86, by using ternary logic instruction
- on ARM, by using EOR3 instruction (available with sha3 feature)

Type: refactor
Change-Id: Ibdf9001840399d2f838d491ca81b57cbd8430433
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
4 years agovcl: handle close after reset 89/24989/6
Florin Coras [Wed, 12 Feb 2020 08:50:29 +0000 (08:50 +0000)]
vcl: handle close after reset

Can happen if a connection is reset before fully accepted.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0ae68d71b66722dd19ca6f1cee44a080e5ff4447

4 years agocrypto-native: add AArch64 AES-GCM native implementation 94/24994/8
Damjan Marion [Wed, 12 Feb 2020 09:59:14 +0000 (10:59 +0100)]
crypto-native: add AArch64 AES-GCM native implementation

Type: feature

Change-Id: I4f96b0af13b875d491704b010328a1814e1dbda1
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agodpdk: Add iova-mode to startup 66/25066/2
Vladimir Ratnikov [Thu, 13 Feb 2020 08:36:21 +0000 (03:36 -0500)]
dpdk: Add iova-mode to startup

In some cases of using vfio-pci driver, it should be required
to enable pa or va mode. Without it, rtl_eal_init unable to
allocate memory required. Debugging told that iova-mode pa/va
could help. And it helps.

This patch allows to pass iova-mode to vpp startup.conf

Type: feature
Change-Id: I36b87f5d3d141891b37cda2c306d50433954a34a
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
4 years agofib: Fix some more realloc errors 67/25067/2
Neale Ranns [Thu, 13 Feb 2020 09:12:36 +0000 (09:12 +0000)]
fib: Fix some more realloc errors

Type: fix

Change-Id: I6011f5d6eae79019d3c16a260a9bedf0a76d2151
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoikev2: Responder honours the protected tunnel config 72/25072/2
Neale Ranns [Thu, 13 Feb 2020 10:10:30 +0000 (10:10 +0000)]
ikev2: Responder honours the protected tunnel config

Type: feature

Change-Id: Iee84f94c617c53658f13c5430b945568c5e06ce9
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agocrypto-native: add AArch64 ghash support 51/25051/4
Damjan Marion [Wed, 12 Feb 2020 19:12:55 +0000 (20:12 +0100)]
crypto-native: add AArch64 ghash support

Type: improvement

Change-Id: I1f204685ea9374389fc24fc53184ce06806beed3
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agovppinfra: add cmake option to grow vectors by 1 08/24908/3
Dave Barach [Mon, 10 Feb 2020 15:16:40 +0000 (10:16 -0500)]
vppinfra: add cmake option to grow vectors by 1

For debugging. Do not set this option in production.

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I5e59671c4932e064bc087b85bf9c62c6f3bf48cf

4 years agoclassify: fix "show classify filter" debug CLI 54/25054/2
Dave Barach [Wed, 12 Feb 2020 19:42:57 +0000 (14:42 -0500)]
classify: fix "show classify filter" debug CLI

Null pointer bug, memory leak. D'oh!

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ic2865757ed9cbb7f48d23c7c30b64299eb5f6674

4 years agovppinfra: add clib_prefetch_load and clib_prefetch_store 53/25053/2
Damjan Marion [Wed, 12 Feb 2020 19:33:01 +0000 (20:33 +0100)]
vppinfra: add clib_prefetch_load and clib_prefetch_store

For people tired of typen CLIB_CACHE_LINE_BYTES....

Type: improvement
Change-Id: I7658a8525ff6e3edc81a29b05a6fda33e537806e
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agovppinfra: add ARM NEON implementation of u8x16_word_shift_{left,right} 52/25052/2
Damjan Marion [Wed, 12 Feb 2020 19:27:46 +0000 (20:27 +0100)]
vppinfra: add ARM NEON implementation of u8x16_word_shift_{left,right}

Type: improvement

Change-Id: I310e421513e9d3f96ad7debc72c9407e231962b8
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agotcp: improve invalid packet handling in syn-rcvd 23/24923/4
Florin Coras [Tue, 11 Feb 2020 05:31:49 +0000 (05:31 +0000)]
tcp: improve invalid packet handling in syn-rcvd

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie356b4d45d47e30c185caf2e66cdb16f1a97046f

4 years agotcp: move connections to wrk ctx 84/24984/7
Florin Coras [Wed, 12 Feb 2020 01:24:29 +0000 (01:24 +0000)]
tcp: move connections to wrk ctx

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I06cc3f032a72eacc716eed8d6fe8856a2839def1

4 years agocrypto-native: fix ghash function naming 47/25047/2
Damjan Marion [Wed, 12 Feb 2020 17:30:17 +0000 (18:30 +0100)]
crypto-native: fix ghash function naming

Type: refactor

Change-Id: I1d594af6d7c0d065d5c2decc5b22d549189b1882
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agocrypto-native: use and instead of blend 46/25046/2
Damjan Marion [Wed, 12 Feb 2020 17:25:39 +0000 (18:25 +0100)]
crypto-native: use and instead of blend

Faster and more portable...

Type: improvement

Change-Id: I915f8d3c45d1ba76ddfdbfac98482b04c98d148b
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agocrypto-native: add missing static_always_inline 45/25045/2
Damjan Marion [Wed, 12 Feb 2020 17:24:24 +0000 (18:24 +0100)]
crypto-native: add missing static_always_inline

Type: improvement

Change-Id: Ibfa756f5f489882bc2ac658ae4d238e98da73875
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agotcp: postpone rst handling 18/24918/3
Florin Coras [Mon, 10 Feb 2020 23:22:34 +0000 (23:22 +0000)]
tcp: postpone rst handling

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id09fa54cc5657b3b5616ea6a6180c1344b0141d4

4 years agocrypto-native: refactor GCM code to use generic types 83/24983/5
Damjan Marion [Tue, 11 Feb 2020 16:04:38 +0000 (17:04 +0100)]
crypto-native: refactor GCM code to use generic types

Type: refactor

Change-Id: I76733a9ed362ec60badd22c0fbc2a9c5749da88d
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoapi: do not truncate api dump file size 73/24473/3
Benoît Ganne [Tue, 21 Jan 2020 17:35:49 +0000 (18:35 +0100)]
api: do not truncate api dump file size

Type: fix

Change-Id: I5c81d2f55057f5fba780cb12154a3fb1aef79f20
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agovppinfra: remove the historical mheap memory allocator 82/24982/4
Dave Barach [Tue, 11 Feb 2020 20:06:34 +0000 (15:06 -0500)]
vppinfra: remove the historical mheap memory allocator

The mheap allocator has been turned off for several releases. This
commit removes the cmake config parameter, parallel support for
dlmalloc and mheap, and the mheap allocator itself.

Type: refactor

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I104f88a1f06e47e90e5f7fb3e11cd1ca66467903

4 years agomisc: fix coverity warnings 70/24970/2
Dave Barach [Tue, 11 Feb 2020 15:29:13 +0000 (10:29 -0500)]
misc: fix coverity warnings

Type: fix
Ticket: VPP-1837

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6b1ea13fc83460bf4ee75cb9249d83dddaa64ded

4 years agoikev2: Configure a profile with an existing interface 54/24954/3
Neale Ranns [Tue, 11 Feb 2020 13:53:32 +0000 (13:53 +0000)]
ikev2: Configure a profile with an existing interface

Type: feature

... rather than always creating a new interface.

Change-Id: If8a22ad5a8a3a4e511bea7cab7d8bbf7e6af9433
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agocrypto-native: fix ARM compilatiion flags 49/24949/2
Damjan Marion [Tue, 11 Feb 2020 13:28:04 +0000 (14:28 +0100)]
crypto-native: fix ARM compilatiion flags

Type: fix

Change-Id: I3b39c17d9cfadc1d383d9c4dba9029ea279d09d7
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agovppinfra: add ARM cpu types 59/24959/2
Damjan Marion [Tue, 11 Feb 2020 14:18:57 +0000 (15:18 +0100)]
vppinfra: add ARM cpu types

Type: improvement

Change-Id: Ib2cb708fdcb14fdea9298c10d67f8fe73887f18b
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agoipsec: add support for chained buffers 58/23358/17
Filip Tehlar [Tue, 4 Feb 2020 09:36:04 +0000 (09:36 +0000)]
ipsec: add support for chained buffers

Type: feature

Change-Id: Ie072a7c2bbb1e4a77f7001754f01897efd30fc53
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agosession: avoid scanning new io list under load 79/24879/5
Florin Coras [Sun, 9 Feb 2020 20:03:12 +0000 (20:03 +0000)]
session: avoid scanning new io list under load

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idaa7cc26ad941be86daec4ed5920727237712f4a

4 years agovppinfra: remove unused variable from timing wheel 89/24889/2
Klement Sekera [Mon, 10 Feb 2020 11:51:05 +0000 (11:51 +0000)]
vppinfra: remove unused variable from timing wheel

Type: fix

Change-Id: I77b03efcac04cc46550d03657464ab8de5d7da78
Signed-off-by: Klement Sekera <ksekera@cisco.com>
4 years agohttp_static: VPP web application HowTo 17/24917/2
Dave Barach [Mon, 10 Feb 2020 22:12:06 +0000 (17:12 -0500)]
http_static: VPP web application HowTo

This sketch should save a lot of time working out uninteresting but
important details.

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Icd5705230adfda6539360ef3c46ff3a68b3bed74

4 years agosr: update NH value for Ethernet payloads 75/24775/4
pcamaril [Tue, 4 Feb 2020 07:36:51 +0000 (08:36 +0100)]
sr: update NH value for Ethernet payloads

Upon encapsulation of L2 frames, IETF has replaced the NextHeader value from 59 (IPv6 No Next Header) to 143 (Ethernet).
https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Type: fix

Signed-off-by: pcamaril <pcamaril@cisco.com>
Change-Id: I88aa5590c81d16700ff7a0bbe6337e113179496e
Signed-off-by: pcamaril <pcamaril@cisco.com>
4 years agotls: refactor picotls ctx_read process to improve CPS 21/24921/5
Simon Zhang [Sun, 12 Jan 2020 16:59:08 +0000 (00:59 +0800)]
tls: refactor picotls ctx_read process to improve CPS

Type: refactor

Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: I2bb675b4df3c4151f4b0791efcfe05b1d0f87a33
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
4 years agosvm: numa awareness for ssvm segments 76/24876/8
Florin Coras [Fri, 7 Feb 2020 23:28:41 +0000 (23:28 +0000)]
svm: numa awareness for ssvm segments

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I999836a7893a89aac5243b111eac35fddd03e2a6

4 years agoip: fix ip-local errors 22/24922/5
Florin Coras [Tue, 11 Feb 2020 03:01:19 +0000 (03:01 +0000)]
ip: fix ip-local errors

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie8bc5c9a03e858487cf565b4e9b520e6b496337a

4 years agovlib: Skip core 0 if workers are configured. 69/24769/4
Jon Loeliger [Fri, 31 Jan 2020 19:34:56 +0000 (13:34 -0600)]
vlib: Skip core 0 if workers are configured.

According to the description in the startup.conf, the assignment
of worker threads starts with the lcore following the main_lcore.
A non-zero skip_cores will correctly achieve this assignment.
However, prior to this patch when workers are assigned, the code
picks up and assigns core 0 even thought it shouldn't.
This patch determins if a non-zero number of workers are desired
and if so, marks CPU unavailable for a worker assignment.

Type: fix

Change-Id: I1fdf73a6f218dcbf146fda2efc90c553f7cd6d20
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agotcp: fix input error counters 20/24920/5
Florin Coras [Tue, 11 Feb 2020 02:42:36 +0000 (02:42 +0000)]
tcp: fix input error counters

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I87940d02813b66616f1944e41b16c8cc16f5dac0

4 years agotcp: add option to avoid endpoint cleanup 80/24880/3
Florin Coras [Sun, 9 Feb 2020 23:09:26 +0000 (23:09 +0000)]
tcp: add option to avoid endpoint cleanup

Type: feature

If set, avoid trying to cleanup the local endpoint table.

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iaa382ae74523d608217d2d17544bf1e7d82b2728

4 years agovppinfra: use vm memory allocator for numa mapping 78/24878/4
Florin Coras [Sun, 9 Feb 2020 18:09:31 +0000 (18:09 +0000)]
vppinfra: use vm memory allocator for numa mapping

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I13b239cd572ae6dfaec07019d3d9b7c0ed3edcfa

4 years agoipsec: fix AES-GCM block size 15/24915/2
Damjan Marion [Mon, 10 Feb 2020 18:21:14 +0000 (19:21 +0100)]
ipsec: fix AES-GCM block size

Type: fix

Change-Id: I0c9640dab2c0eaba369bc8f3ff7ae56d8e97e170
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agovlib: properly configure main thread's core id 93/24693/4
Jon Loeliger [Fri, 31 Jan 2020 00:37:47 +0000 (18:37 -0600)]
vlib: properly configure main thread's core id

Prior to this patch, the main thread's core id was
always reported as 0.
This patch makes a call to vlib_get_thread_core_socket() on
the main thread so that its core id is set properly.

Type: fix
Fixes: 5d64c7868f67749a6c99eb4ee5998b518ab6c71c

Change-Id: I019cb95eec031da25197e48d956038c4bd6b5040
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agomisc: add FEATURE.yaml files 66/24866/3
Dave Barach [Fri, 7 Feb 2020 13:40:57 +0000 (08:40 -0500)]
misc: add FEATURE.yaml files

For src/vnet/classify, src/vnet/cop, src/vnet/pg, and src/vlib/unix

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib6ab734608693a1e9562a44808246950616e8d36

4 years agosctp: API cleanup 71/24671/3
Jakub Grajciar [Thu, 30 Jan 2020 13:30:04 +0000 (14:30 +0100)]
sctp: API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I344ff299e2a20552450d82064c86aecb4403a71d
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agoip-neighbor: fix MLD reports not being sent 47/24847/3
Neale Ranns [Fri, 7 Feb 2020 09:45:07 +0000 (09:45 +0000)]
ip-neighbor: fix MLD reports not being sent

Type: fix

Change-Id: I8f81cd6c29ff8cb4f0b4850b8b1f6611d89ddb38
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoikev2: better logging 63/24863/2
Filip Tehlar [Sun, 20 Oct 2019 10:38:13 +0000 (10:38 +0000)]
ikev2: better logging

Type: refactor

Change-Id: Iedcb24684c54f4d78583ab3aa3db1097e73df248
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agoipsec: remove dead code 65/24865/2
Filip Tehlar [Wed, 5 Feb 2020 19:36:21 +0000 (19:36 +0000)]
ipsec: remove dead code

Type: style

Change-Id: Ifda9597bf4aee89cf1dfd287429a2772fed8f535
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agoip: more detailed show reassembly commands 06/24106/3
Vladimir Ratnikov [Sat, 21 Dec 2019 11:27:52 +0000 (06:27 -0500)]
ip: more detailed show reassembly commands

Options like:
expire_walk_interval_ms,max_reassemblies,timeout_ms
can be configured via API, but it's impossible to
check them using vppctl, but this can be a useful
feature

Type: feature

Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Iac8a96201a7a70b82e9852edc89b819c5d451a58

4 years agoip6: fix l4 checksum with hop-by-hop header 35/24835/2
Matthew Smith [Wed, 5 Feb 2020 17:46:40 +0000 (11:46 -0600)]
ip6: fix l4 checksum with hop-by-hop header

L4 checksums for IPv6 should be calculated using a pseudo header that
includes the source/destination addresses, payload length, and payload
protocol.

ip6_tcp_udp_icmp_compute_checksum() was using the payload length and
protocol from the IPv6 header. If there is a hop-by-hop header (or any
other extension header), the payload length used for the pseudo header
should only include the upper layer header and payload and not the
extension header bytes. Same deal with the protocol, the upper layer
next header value should be used instead of the extension header.

Type: fix
Fixes: cb9cadad57

Change-Id: Ifa2c9ad41c0fc4eea674f0671255b637c8e01f71
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agomisc: fix the MAKE_PARALLEL_JOBS for 'make verify' target 56/24856/2
Andrew Yourtchenko [Fri, 7 Feb 2020 11:58:00 +0000 (12:58 +0100)]
misc: fix the MAKE_PARALLEL_JOBS for 'make verify' target

MAKE_PARALLEL_JOBS was prepending "-j", which in case of nested targets like "verify"
resulted in ninja being executed with "-j -j" flags.

Solution: prepend -j only at the moment of setting the MAKE_PARALLEL_FLAGS variable,
this keeps MAKE_PARALLEL_JOBS intact regardless of depth of the job call tree.

Type: make
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I10a69fe527758e5a862852a9f2102aeaca30e88f

4 years agotests: skip extended quic tests under development 75/24875/1
Dave Wallace [Fri, 7 Feb 2020 22:55:53 +0000 (17:55 -0500)]
tests: skip extended quic tests under development

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I05c464311e98d149f7bc06aa801fd8aefda1959e
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agoquic: update config values for large stream tests 68/24568/9
Dave Wallace [Mon, 27 Jan 2020 23:21:15 +0000 (18:21 -0500)]
quic: update config values for large stream tests

- Update vpp and vpp_echo parameters to enable
  large data stream tests to pass.
- Standardize stream size nomenclature.

Type: fix

Change-Id: I929ac9f43ecfccf2c3c3fe4d076761154512fac5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agobuild: Makefile dep change for ubuntu 24/24824/5
Ed Kern [Wed, 5 Feb 2020 22:45:26 +0000 (15:45 -0700)]
build: Makefile dep change for ubuntu

Alter dep name and location for ubuntu-20 package naming

Dropping 14.04 support while keeping 16.04 and 18.04
Dropping python2-dev for ubuntu-20

Type: make

Change-Id: I324aa646cdb6e13d39b7a99722857e59906b0843
Signed-off-by: Ed Kern <ejk@cisco.com>
4 years agofib: fix non-NULL terminated vectors in cli output 25/24825/2
Benoît Ganne [Tue, 4 Feb 2020 15:45:09 +0000 (16:45 +0100)]
fib: fix non-NULL terminated vectors in cli output

Type: fix

Change-Id: Idbb3f29b13a5c84a8585c4299e51fdfc35f7e1ad
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agotests: support python 3.8 88/24788/4
Ole Troan [Tue, 4 Feb 2020 12:28:13 +0000 (13:28 +0100)]
tests: support python 3.8

Make test framework python3 version independence.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I1ef1eb77b6c1f422ebc4dad0818f87c8e587b34b

4 years agosvm: use default SVM address in fifo unit tests 55/24855/2
Benoît Ganne [Fri, 7 Feb 2020 10:59:32 +0000 (11:59 +0100)]
svm: use default SVM address in fifo unit tests

Using random addresses can confuse AddressSanitizer

Type: fix

Change-Id: I44368093f899672ac4d511cc5a01ed87c988e63a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agoquic: fix coverity warning 43/24843/3
MathiasRaoul [Fri, 7 Feb 2020 09:42:38 +0000 (09:42 +0000)]
quic: fix coverity warning

Type: fix

Change-Id: I24aac10a2943151d5b2fe96a0dff1c5beb7340b9
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
4 years ago misc: address sanitizer: fix vm instrumentation 54/24854/1
Benoît Ganne [Fri, 7 Feb 2020 10:58:16 +0000 (11:58 +0100)]
 misc: address sanitizer: fix vm instrumentation

Type: fix

Change-Id: Ifd61c0683c85fe7340965c225ed23e46ec88e01a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agonat: api & cli command for forcing session cleanup 30/24830/2
Filip Varga [Thu, 6 Feb 2020 14:25:27 +0000 (15:25 +0100)]
nat: api & cli command for forcing session cleanup

Ticket: VPP-1836
Type: feature

Signed-off-by: Filip Varga <fivarga@cisco.com>
Change-Id: I8f7fc011bac435445a8916a4948d130ca9162f67

4 years agohsa: proxy wnd update only if enough space is available 98/24798/4
Florin Coras [Tue, 4 Feb 2020 17:48:20 +0000 (17:48 +0000)]
hsa: proxy wnd update only if enough space is available

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2874d3afbf4cc89209b605c35ca4a5bc5b6868b3

4 years agovlib: add plugin override support 23/24823/2
Dave Barach [Wed, 5 Feb 2020 22:31:09 +0000 (17:31 -0500)]
vlib: add plugin override support

Allow a plugin to override (suppress loading of) other plugins. This
mechanism allows a developer to prevent specific plugins from being
loaded.

To do so, provide an "overrides" list in the plugin definition:

VLIB_PLUGIN_REGISTER () =
{
  <snip>
  .overrides = "avf_plugin.so,ioam_plugin.so,dpdk_plugin.so",
};

or some such. Simply list the plugins in question as shown above. The
.overrides structure member is limited to 256 octets. The named .elf
section mechanism used to discover the vlib_plugin_registration_t's
precludes the use of a variable-length array of strings.

Use the vlib log to eliminate plugin and built-in vat plugin loader
console spew.

Added vlib_log_register_class_rate_limit(...) to allow procedural
configuration of the log rate-limit. We *never* want to rate-limit
plugin loader messages.

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I0a9327b8cf5508482f057342783252112cb44170

4 years agovcl: fix session closing error 63/24763/2
Florin Coras [Mon, 3 Feb 2020 16:00:56 +0000 (16:00 +0000)]
vcl: fix session closing error

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I94f1365569e98d43486d9528faafc6d7c3ad88f7

4 years agoquic: fix coverity warning 27/24827/2
MathiasRaoul [Thu, 6 Feb 2020 10:31:03 +0000 (10:31 +0000)]
quic: fix coverity warning

Type: fix
Change-Id: I7299b3b0a6d32c1cbe213dc1aadb8260cdec8062
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
4 years agomisc: VPP 20.01 Release Notes 46/24646/2
Andrew Yourtchenko [Fri, 24 Jan 2020 11:50:43 +0000 (12:50 +0100)]
misc: VPP 20.01 Release Notes

Type: docs
Change-Id: Iee518fbb9c72716cc90a3ea8efbf3ecbaa969a84
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit fce396738f865293f0a023bc7f172086f81da456)

4 years agovppinfra: numa vector placement support 54/24454/12
Dave Barach [Tue, 21 Jan 2020 17:34:55 +0000 (12:34 -0500)]
vppinfra: numa vector placement support

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I7e7d95a089dd849c1f01ecea84529d8dbf239f21

4 years agobuild: Makefile dep change 16/24816/2
Ed Kern [Wed, 5 Feb 2020 15:30:00 +0000 (08:30 -0700)]
build: Makefile dep change
Alter dep name and location for centos-8 package naming

Change-Id: I50eb702d0541b658ea98fd3f190ba0de60c3fc49
Type: make
Signed-off-by: Ed Kern <ejk@cisco.com>
4 years agonat: move dslite to separate sub-plugin 69/24069/9
Ole Troan [Thu, 19 Dec 2019 10:55:54 +0000 (11:55 +0100)]
nat: move dslite to separate sub-plugin

Type: refactor
Change-Id: If3d9f16f3a06c10b354f1eef674e8db5f3c44de7
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agostats: fix state counter removal 79/24779/4
Vladimir Isaev [Tue, 4 Feb 2020 08:54:27 +0000 (11:54 +0300)]
stats: fix state counter removal

Avoid using vec_del1() for directory vector to keep indexes valid all
the time.

There are state counters for each slave in LACP bond mode which can be
dynamically created and removed. Vector index is used to access these
counters. But also vec_del1() is used to remove counter from vector.
This function changes the index of the last element, so after this we
are unable to access ex-last element using old index.

As a result it is not possible to add-del-add two interfaces to the LACP
bond:

DBGvpp# create bond mode lacp
BondEthernet0
DBGvpp# create packet-generator interface pg1
DBGvpp# create packet-generator interface pg2
DBGvpp# bond add BondEthernet0 pg1
DBGvpp# bond add BondEthernet0 pg2
DBGvpp# bond del pg1
DBGvpp# bond del pg2
DBGvpp# bond add BondEthernet0 pg1
DBGvpp# bond add BondEthernet0 pg2
bond add: /if/lacp/1/3/partner-state is already register

Type: fix

Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: I2c86e13905eefdef6233369cd4ab5c1b53d123bd

4 years agoapi: fix vl_api_clnt_node process stack overflow 12/24312/2
Chenmin Sun [Tue, 14 Jan 2020 00:47:22 +0000 (08:47 +0800)]
api:  fix vl_api_clnt_node process stack overflow

Type: fix

Some simple settings(e.g. bringing up an i40e/ice interface) through
vnat consume more than the currently available stack space.

This root cause of this issue is same with commit
b2dbb36fc265b8996fc7fa310dda447d5b0479cb "vlib: fix startup-config \
-process stack overflow" and commit 2fd44a00aa26188ca75f0accd734f2 \
1758c199bf "vlib: fix cli process stack overflow"

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I312e4fed96a679aa68b859e28a90a2a4b6eb0c6e

4 years agoipsec: set l2_len for GRE-TEB tunnel decap 08/24808/2
John Lo [Sat, 1 Feb 2020 04:48:30 +0000 (23:48 -0500)]
ipsec: set l2_len for GRE-TEB tunnel decap

Type: fix
Ticket: VPP-1831

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I655964b22021ac38cbced577091a1156286d4fd6

4 years agovppinfra: deal with 0 return from os_cpu_clock_frequency() 01/24801/2
Dave Barach [Tue, 4 Feb 2020 21:10:17 +0000 (16:10 -0500)]
vppinfra: deal with 0 return from os_cpu_clock_frequency()

Sporadic reports of os_cpu_clock_frequency() returning 0.0 in highly
parallel container environments.

To avoid immediate division by zero:
  Step 1: try estimate_clock_frequency(1e-3).
  Step 2: give up. Pretend we have a 2gHz clock.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I19d0fe5259b757ab778599c7026ce485153b43fa

4 years agodpdk: use port_id as interface name suffix for representors 91/24791/3
Haggai Eran [Tue, 4 Feb 2020 12:32:19 +0000 (14:32 +0200)]
dpdk: use port_id as interface name suffix for representors

Type: feature

Representor devices include a port ID as part of their switch_info struct, and
it is helpful to use that in the interface name.

Signed-off-by: Haggai Eran <haggai.eran@gmail.com>
Change-Id: Id24627e7daf857f8b0e8ace2f592c098678081c7

4 years agodpdk: output switch information 90/24790/3
Haggai Eran [Tue, 4 Feb 2020 12:09:04 +0000 (14:09 +0200)]
dpdk: output switch information

Type: feature

Output DPDK switch information to allow finding out which DPDK ports are
associated with which DPDK representor ports.

Signed-off-by: Haggai Eran <haggai.eran@gmail.com>
Change-Id: I612cbd5a97e04787eca13423f53c7283d5945e37

4 years agomisc: add new type for commit message 84/24784/2
Mohsin Kazmi [Tue, 4 Feb 2020 10:36:17 +0000 (11:36 +0100)]
misc: add new type for commit message

Type: style

Change-Id: Ibfa8bd1c0987fd2a5050be6c454f665666eb0210
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agovcl: switch to closed state after app close 99/24799/2
Florin Coras [Tue, 4 Feb 2020 19:04:34 +0000 (19:04 +0000)]
vcl: switch to closed state after app close

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I851db474538de76d5f70dd6d6f83a6487a5a02bd

4 years agonat: pool allocation function fix 47/24747/2
Filip Varga [Mon, 3 Feb 2020 11:14:29 +0000 (12:14 +0100)]
nat: pool allocation function fix

Type: fix

Change-Id: I75b20db66fb58e1724a212253c51315836079f4b
Signed-off-by: Filip Varga <fivarga@cisco.com>
4 years agovppapigen: fix options representation 76/24776/2
Ole Troan [Tue, 4 Feb 2020 08:12:00 +0000 (09:12 +0100)]
vppapigen: fix options representation

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ief77110160120ea0e1291cc79949a73404cdbfda

4 years agovirtio: update FEATURE.yaml to include description for vhost-user 49/24249/2
Steven Luong [Wed, 8 Jan 2020 18:25:52 +0000 (10:25 -0800)]
virtio: update FEATURE.yaml to include description for vhost-user

Add features supported by vhost-user

Type: docs

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Iba4c5244c40324b603e2803ade8ecc0816326de8

4 years agoteib: Rename NHRP to TEIB 46/24746/2
Neale Ranns [Mon, 3 Feb 2020 10:55:09 +0000 (10:55 +0000)]
teib: Rename NHRP to TEIB

Type: refactor

The Tunnel Endpoint Informatiob Base (TEIB) is a better
description of what it is (a mapping between tunnel endpoint
address, in the overlay, and next-hop address, in the underlay)
whereas NHRP is one instanc eof a control protocol that might add
such endpoints.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Idcb2ad0b6543d3e5d9f6e96f9d14dafb5ce2aa85

4 years agodpdk: patch ixgbe driver to solve race condition 30/24730/2
Matthew Smith [Fri, 31 Jan 2020 21:39:21 +0000 (15:39 -0600)]
dpdk: patch ixgbe driver to solve race condition

Type: fix

Some fiber ports that are managed by the ixgbe PMD have the
possibility to get into a state where link can never be brought up.

This patch should fix it and will be submitted to upstream DPDK.

Change-Id: Ia4d0df2e70d098b2151e513b96e8bd742151e8ce
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agoip: translate fragmented icmp to fragmented icmp6 14/24714/2
Alexander Chernavin [Fri, 31 Jan 2020 14:19:49 +0000 (09:19 -0500)]
ip: translate fragmented icmp to fragmented icmp6

The first translated ICMPv6 packet of a fragmented ICMP message does
not have a IPv6 fragment header. All subsequent have.

With this commit, add a IPv6 fragment header to the first translated
ICMPv6 packet.

Type: fix

Change-Id: Id89409ce7273cbeed801e2e18a09d3e7c3c4e4bc
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
4 years agovppinfra: fix typo in tw_timer_template.c 65/24765/1
Dave Barach [Mon, 3 Feb 2020 16:57:41 +0000 (11:57 -0500)]
vppinfra: fix typo in tw_timer_template.c

Fix minor memory leak

Type: fix
Ticket: VPP-1833
Fixes: 4af9ba1dab

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id10fba70471ca78f73f14146054f6b12c5d4431f

4 years agotls: refactor for tls async event handling 37/24437/6
Yu Ping [Mon, 20 Jan 2020 21:07:30 +0000 (05:07 +0800)]
tls: refactor for tls async event handling

Type: refactor

Make sure one tls ctx has one event availble
Thus ctx has the same life time with event, which can simplify the
management.

Change-Id: I1f4240e7316025d81bb97644946ffa399c00cd76
Signed-off-by: Yu Ping <ping.yu@intel.com>
4 years agovirtio: vhost gso is broken in some topology 92/24692/2
Steven Luong [Thu, 30 Jan 2020 23:18:45 +0000 (15:18 -0800)]
virtio: vhost gso is broken in some topology

Recent modification added a call to vnet_gso_header_offset_parser in the
beginning of vhost_user_handle_tx_offload. The former routine may set tcp or
udp->checksum to 0. While it is appropriate to set it to 0 for the GSO packet,
it is broken and causes checksum error if the aformentiooned routine is called
by a non-GSO packet. The fix is to not call vhost_user_handle_tx_offload
if the buffer does not indicate checksum offload is needed.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I6e699d7a40b7887ff149cd8f77e8f0fa9374ef19

4 years agofib: invalid check for adj types. 45/24745/2
Neale Ranns [Mon, 3 Feb 2020 10:33:51 +0000 (10:33 +0000)]
fib: invalid check for adj types.

Type: fix

coverity found invalid logic.

Change-Id: Ic9144ac805a4e5a18aa299794fedda044dcb65fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agofib: refresh adj pointer after fib_walk_sync due to possible realloc 79/24679/2
Steven Luong [Thu, 30 Jan 2020 17:11:18 +0000 (09:11 -0800)]
fib: refresh adj pointer after fib_walk_sync due to possible realloc

fib_walk_sync may call adj_alloc which may cause adj_pool to expand. When
that happens, any previous frame which still use the old adj pointer needs to
refresh. Failure to do so may access or update to the old adj memory
unintentionally and crash mysteriously.

Type: fix
Ticket: VPPSUPP-54

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I173dec4c5ce81c6e26c4fe011b894a7345901b24

4 years agogre: improve .api descriptions 07/24707/5
Vratko Polak [Fri, 31 Jan 2020 19:43:33 +0000 (20:43 +0100)]
gre: improve .api descriptions

+ Remove fields not present in the typedef.
+ Sort field descriptions by the order in the typedef.
+ Add descriptions to other messages.
+ Add comment lines with de-abbreviated enum values.

Type: style

Change-Id: I2c41e0204ba5c59a53f1cf7b5837118484a16ad0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agogre: add missing .api edits 23/24723/2
Vratko Polak [Fri, 31 Jan 2020 18:21:25 +0000 (19:21 +0100)]
gre: add missing .api edits

The previous edit has added a new field to a typedef.
That change is backward-compatible for PAPI users,
but not backward compatible for direct binary API users.

This change adds two edits that should have been there already:

+ Copyright year bump.
+ API version bump.
  - PAPI users point of view, so bumping minor version only.

Type: fix
Fixes: e5b94dded0dfd7258d5fd0f4ef897d9ccb48715b

Change-Id: Ib85f457254e38a8e5999a078855848e6a5cfda13
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agovppinfra: write up clib_time_t 29/24729/2
Dave Barach [Fri, 31 Jan 2020 20:38:28 +0000 (15:38 -0500)]
vppinfra: write up clib_time_t

Describe the clock rate adjustment algorithm in detail

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I5bcab18efafe05cd1db9a4b01ce6a6ba66e383fa

4 years agosession: fix chunk batch alloc for large fifos 21/24721/3
Florin Coras [Fri, 31 Jan 2020 16:28:02 +0000 (08:28 -0800)]
session: fix chunk batch alloc for large fifos

Type: fix

Change-Id: Ibfac65b516f20d25d91f6d0cf86491353811b8be
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoquic: quicly crypto offloading 38/23538/28
MathiasRaoul [Thu, 9 Jan 2020 14:50:53 +0000 (14:50 +0000)]
quic: quicly crypto offloading

- Implement our own quic packet allocator to allocate more memory at the end of the
packet to store crypto offloading related data
- 1RTT packets offloading encryption/decryption using vnet crypto
- Add cli to change max packet per key

Type: feature

Change-Id: I7557fd457d7ba492329d5d8ed192509cbd727f9c
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
4 years agocrypto-native: add ARMv8 AES-CBC implementation 18/24718/2
Damjan Marion [Fri, 31 Jan 2020 09:24:07 +0000 (10:24 +0100)]
crypto-native: add ARMv8 AES-CBC implementation

Type: feature

Change-Id: I32256061b9509880eec843db2f918879cdafbe47
Signed-off-by: Damjan Marion <dmarion@me.com>
4 years agoquic: update quicly to v0.0.10-vpp 05/24705/1
MathiasRaoul [Fri, 31 Jan 2020 10:48:40 +0000 (10:48 +0000)]
quic: update quicly to v0.0.10-vpp

Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I5452f8bbd0ff9e2a57f7bd7d134a8824efa5f30a

4 years agocrypto-native: refactor AES code 88/24688/3
Damjan Marion [Thu, 30 Jan 2020 14:46:23 +0000 (15:46 +0100)]
crypto-native: refactor AES code

- use neutral types in preparation for ARMv8 support
- simplify x86 key extraction support

Type: refactor

Change-Id: I947eb37b8c9d9ee6909bb32ef14c4de192d40a46
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agomisc: deprecate dpdk hqos 90/24690/5
Damjan Marion [Thu, 30 Jan 2020 19:47:37 +0000 (20:47 +0100)]
misc: deprecate dpdk hqos

Not in functional state for a long time ...

Type: refactor

Change-Id: I2cc1525a6d49518cbc94faf6afbf0d2d0d515f56
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agomisc: deprecate netmap and ixge drivers 89/24689/3
Damjan Marion [Thu, 30 Jan 2020 19:39:58 +0000 (20:39 +0100)]
misc: deprecate netmap and ixge drivers

Both are out of sync for long time...

Type: refactor

Change-Id: I7de3170d35330fc172501d87655dfef91998b8fe
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agomap: Add several more MAP-T BR tests 78/24678/4
Jon Loeliger [Thu, 30 Jan 2020 16:54:58 +0000 (10:54 -0600)]
map: Add several more MAP-T BR tests

Add several more MAP-T BR tests for normal packet flow.

Type: test

Change-Id: Ica880dd23c923795279e9d08dca2796f2925069a
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agovppinfra: improve clocks_per_second convergence 67/24567/12
Dave Barach [Wed, 29 Jan 2020 23:05:24 +0000 (18:05 -0500)]
vppinfra: improve clocks_per_second convergence

Apply exponential smoothing to the clock rate update calculation in
clib_time_verify_frequency(), with a half-life of 1 minute and a
sampling frequency of 16 seconds. Within 5 minutes or so, the
calculation converges

With each rate recalculation: reset total_cpu_time based on the kernel
timebase delta since vpp started, and the new clock rate

Improve the "show clock [verbose]" debug CLI command.

BFD echo + echo fail tests marked off until the BFD code can be
reworked a bit.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I24e88a78819b12867736c875067b386ef6115c5c

4 years agotap: fix host mtu configuration setting 74/24674/2
Mohsin Kazmi [Thu, 30 Jan 2020 15:08:08 +0000 (16:08 +0100)]
tap: fix host mtu configuration setting

host mtu can't be set if tap interface is in namespace.
This patch fixes this issue.

Type: fix

Change-Id: I63811c4b56c708fe708061a8afbaec41994f08ca
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agotap: fix the host mac address 70/24670/4
Mohsin Kazmi [Thu, 30 Jan 2020 12:36:02 +0000 (13:36 +0100)]
tap: fix the host mac address

Tap configuration code sets the host mac address
two time. This patch fixes it.

Type: fix

Change-Id: I7bebb9b7f25352a8a9a98bae6a0636757c0cea9c
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agomisc: move configs to extras/configs 91/24691/2
Damjan Marion [Thu, 30 Jan 2020 20:18:39 +0000 (21:18 +0100)]
misc: move configs to extras/configs

Type: refactor

Change-Id: I64665b290e2c42bbd9b0e877e9e4b028090b0ede
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agofib: fix typos in doxygen 81/24681/2
Paul Vinciguerra [Thu, 30 Jan 2020 17:49:20 +0000 (12:49 -0500)]
fib: fix typos in doxygen

cleaned up some trivial typo's while reading through adj.h

Type: docs

Change-Id: I1b6cd815dc10ed3da8db2024b3e015e076235d50
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agogre: Tunnel encap/decap flags 45/24145/4
Neale Ranns [Tue, 31 Dec 2019 05:13:14 +0000 (05:13 +0000)]
gre: Tunnel encap/decap flags

Type: feature

common funcitons across IP-in-IP and GRE tunnels for encap/decap
functions

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I325b66824878d843af167adfe5a7a96b0ab90566