vpp.git
4 years agomarvell: use explicit types in api 65/23865/2
Ole Troan [Sun, 8 Dec 2019 12:30:30 +0000 (13:30 +0100)]
marvell: use explicit types in api

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

4 years agogtpu: use explicit types in api 66/23866/2
Ole Troan [Sun, 8 Dec 2019 13:14:37 +0000 (14:14 +0100)]
gtpu: use explicit types in api

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

4 years agol3xc: use explicit types in api 68/23868/2
Ole Troan [Sun, 8 Dec 2019 15:09:47 +0000 (16:09 +0100)]
l3xc: use explicit types in api

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

4 years agoip: coverity fix 38/23838/2
johny [Fri, 6 Dec 2019 12:58:35 +0000 (13:58 +0100)]
ip: coverity fix

Delete Null-checking "p0" in function ip6_tcp_udp_icmp_bad_length,
because it's not necessary.

Type: fix

Signed-off-by: johny <jan.cavojsky@pantheon.tech>
Change-Id: I2bf43a60c1c1d76e42581df27f2285c9e9563093

4 years agolacp: use explit api types 26/23826/2
Ole Troan [Fri, 6 Dec 2019 09:00:47 +0000 (10:00 +0100)]
lacp: use explit api types

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

4 years agolacp: fix control_ping from plugins 59/23859/2
Ole Troan [Fri, 6 Dec 2019 23:39:49 +0000 (00:39 +0100)]
lacp: fix control_ping from plugins

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

4 years agostn: use explicit types in api 42/23842/2
Ole Troan [Fri, 6 Dec 2019 13:42:17 +0000 (14:42 +0100)]
stn: use explicit types in api

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

4 years agovmxnet3: use explicit types in api 45/23845/2
Ole Troan [Fri, 6 Dec 2019 13:55:38 +0000 (14:55 +0100)]
vmxnet3: use explicit types in api

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

4 years agovlib: use explicit types in api 47/23847/2
Ole Troan [Fri, 6 Dec 2019 14:06:49 +0000 (15:06 +0100)]
vlib: use explicit types in api

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

4 years agomap: use explicit types in api 46/23846/2
Ole Troan [Fri, 6 Dec 2019 14:03:42 +0000 (15:03 +0100)]
map: use explicit types in api

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

4 years agosvs: use explicit types in api 44/23844/2
Ole Troan [Fri, 6 Dec 2019 13:50:51 +0000 (14:50 +0100)]
svs: use explicit types in api

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

4 years agopppoe: use explicit types in api 41/23841/3
Ole Troan [Fri, 6 Dec 2019 13:23:10 +0000 (14:23 +0100)]
pppoe: use explicit types in api

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

4 years agoquic: update quicly to v0.0.7-vpp 79/23679/5
MathiasRaoul [Thu, 28 Nov 2019 11:04:59 +0000 (11:04 +0000)]
quic: update quicly to v0.0.7-vpp

Type: feature

Change-Id: Ieeb9abb59b4d094bbd7bfc04a9007d3cebd645d7
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
4 years agoapi: avoid swapping vlib_rp before barrier sync 59/23659/11
Florin Coras [Wed, 27 Nov 2019 17:15:25 +0000 (09:15 -0800)]
api: avoid swapping vlib_rp before barrier sync

Type: fix

Change-Id: I9868d13e827c6f5aa5535a38f629efb62ff12dbc
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agogso: fix the tap/virtio driver for header offset 48/23848/3
Mohsin Kazmi [Fri, 6 Dec 2019 14:47:48 +0000 (15:47 +0100)]
gso: fix the tap/virtio driver for header offset

Type: fix

Change-Id: Ied34466907fa8ad44f997c600dbf481be4d22027
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agoapi: fix free socket process args 22/23822/3
Florin Coras [Fri, 6 Dec 2019 04:10:53 +0000 (20:10 -0800)]
api: fix free socket process args

Type: fix

Change-Id: I910be067de6ed65790d25cc95a3d8b5b66680567
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agomactime: update api to use explicit types 25/23825/2
Ole Troan [Fri, 6 Dec 2019 08:55:45 +0000 (09:55 +0100)]
mactime: update api to use explicit types

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

4 years agol2e: use explicit api types 27/23827/2
Ole Troan [Fri, 6 Dec 2019 09:05:29 +0000 (10:05 +0100)]
l2e: use explicit api types

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

4 years agodpdk: use explicit types in api 34/23834/2
Ole Troan [Fri, 6 Dec 2019 12:20:43 +0000 (13:20 +0100)]
dpdk: use explicit types in api

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

4 years agoct6: use explicit type in api 33/23833/2
Ole Troan [Fri, 6 Dec 2019 12:19:01 +0000 (13:19 +0100)]
ct6: use explicit type in api

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

4 years agocdp: use explicit types in api 32/23832/2
Ole Troan [Fri, 6 Dec 2019 12:17:17 +0000 (13:17 +0100)]
cdp: use explicit types in api

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

4 years agoabf: use explicit types in api 31/23831/3
Ole Troan [Fri, 6 Dec 2019 12:16:21 +0000 (13:16 +0100)]
abf: use explicit types in api

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

4 years agoigmp: use explicit types in api 36/23836/2
Ole Troan [Fri, 6 Dec 2019 12:33:35 +0000 (13:33 +0100)]
igmp: use explicit types in api

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

4 years agoikev2: use explicit api types 37/23837/2
Ole Troan [Fri, 6 Dec 2019 12:37:51 +0000 (13:37 +0100)]
ikev2: use explicit api types

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

4 years agonsh: use explicit api types 39/23839/2
Ole Troan [Fri, 6 Dec 2019 13:01:16 +0000 (14:01 +0100)]
nsh: use explicit api types

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

4 years agonsim: use explicit api types 40/23840/2
Ole Troan [Fri, 6 Dec 2019 13:05:07 +0000 (14:05 +0100)]
nsim: use explicit api types

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

4 years agoapi: multiple socket connections per single process 33/23633/7
Florin Coras [Mon, 25 Nov 2019 21:40:42 +0000 (13:40 -0800)]
api: multiple socket connections per single process

Type: feature

Change-Id: Idea1857eb2225881d2982a7aa2ae7a79536b3f33
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agosession: close for reset replies independent of state 21/23821/4
Florin Coras [Thu, 5 Dec 2019 20:05:57 +0000 (12:05 -0800)]
session: close for reset replies independent of state

Type: fix

Change-Id: I8b8875f1dc9203dfbb443ac43df8250cbb0b1edc
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: fix tail rescue with sacks 83/23483/7
Florin Coras [Sat, 16 Nov 2019 01:56:48 +0000 (17:56 -0800)]
tcp: fix tail rescue with sacks

Type: fix

Change-Id: Iad73f47cef3d29c4b0b7d1f58f2f2b14ba4b1d38
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotests: move bfd over gre to extended tests 07/23807/2
Paul Vinciguerra [Thu, 5 Dec 2019 04:38:12 +0000 (23:38 -0500)]
tests: move bfd over gre to extended tests

This test should be fixed or removed.
EXTENDED_TESTS should not become "BROKEN_TESTS"

Type: test

Change-Id: Id998f0d3b7bd31100f917d076fbd7ddb46d99ed2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agosrv6-mobile 20/23820/2
Tetsuya Murakami [Thu, 5 Dec 2019 18:42:34 +0000 (10:42 -0800)]
srv6-mobile

Type: fix

Plug-in for IPv6 Segment Routing Mobile

Fix the static analysis issue on srv6-mobile/gtp4_d function.

Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: I5c419b76a30c9616dc3557267fcceed0d512b67e

4 years agomap: fix MAP-T ip6 port check 00/23800/2
Matthew Smith [Wed, 4 Dec 2019 21:02:46 +0000 (15:02 -0600)]
map: fix MAP-T ip6 port check

Type: fix
Ticket: VPP-1804

Fix a regression introduced by 640edcd90.

The port set ID on received IPv6 packets for MAP-T was being
checked against the destination port. It should be checked
against the source port.

Added a new unit test to verify that a v6 packet with a good
source port is translated and forwarded and a v6 packet with
a bad source port is dropped. The important part of the test
which will prevent similar future regressions is that the
source port and destination port are not equal. The existing
unit test used the same source and destination port which is
why it did not fail when the regression was introduced.

Change-Id: Idc144ea509722bb9e0f80b3887d220384a04e6d6
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agotests: quic enable per testcase timeout overrides 06/23806/4
Paul Vinciguerra [Thu, 5 Dec 2019 04:18:02 +0000 (23:18 -0500)]
tests: quic enable per testcase timeout overrides

Type: test

Change-Id: I4f8aee3efa53d58f96631fe2d2da5756304fb75a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoclassify: vpp packet tracer support 01/23801/2
Dave Barach [Wed, 4 Dec 2019 22:19:12 +0000 (17:19 -0500)]
classify: vpp packet tracer support

Configure n-tuple classifier filters which apply to the vpp packet
tracer.

Update the documentation to reflect the new feature.

Add a test vector.

Type: feature

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

4 years agoip: fix cancel termination after receive malformed ip6 packet 83/22683/7
johny [Fri, 11 Oct 2019 16:28:51 +0000 (18:28 +0200)]
ip: fix cancel termination after receive malformed ip6 packet

This fix is for cancel termination of vpp after receive malformed
packet type of ip6.To avoid termination of vpp are checked if are
missing data in packet. This occours, when payload length in ip6
header packet is more than real count of data in packet. When
this error occours, packet is ignore.

Type: fix
Ticket: VPP-1693, VPP-1694

Change-Id: I9d9ecea7b75c8702cb31aa8051c8d4d7ce19659d
Signed-off-by: johny <jan.cavojsky@pantheon.tech>
4 years agosrv6-mobile 04/23804/2
Tetsuya Murakami [Thu, 5 Dec 2019 02:57:46 +0000 (18:57 -0800)]
srv6-mobile

Type: feature

Plug-in for IPv6 Segment Routing Mobile

Support the plug-in function in SR Policy.
Support GTP4.D plug-in as SR Policy plug-in.

Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: I306160b7203921d879940193868944158867c482

4 years agotests: fix wrong checksum error message 13/23813/3
Klement Sekera [Thu, 5 Dec 2019 13:13:21 +0000 (13:13 +0000)]
tests: fix wrong checksum error message

This change fixes the error message, which would previously report
mismatch on IPv6 layer instead of TCP layer.

Type: fix

Change-Id: Ie78779685362a420d155f928b3cdb341bc3fb8bc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
4 years agoclassify: Fix 2 coverity errors 98/23798/2
Jon Loeliger [Wed, 4 Dec 2019 17:42:36 +0000 (11:42 -0600)]
classify: Fix 2 coverity errors

Validate two tainted scalars, filter_sw_if_index, that
came from an API message.

Type: fix
Change-Id: I3ac8a09f91f380185e36babeaa6330691f7cb24b
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agopapi: add call stats 63/23663/3
Ole Troan [Wed, 27 Nov 2019 22:12:48 +0000 (23:12 +0100)]
papi: add call stats

Type: feature
Change-Id: Ic6d44122d3e62e09402e3f1946f7e57e9b5e7c5f
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agotests: Revert "Python Tests: Make VppTestCase unit testable." 38/23738/3
Paul Vinciguerra [Mon, 2 Dec 2019 18:12:56 +0000 (13:12 -0500)]
tests: Revert "Python Tests: Make VppTestCase unit testable."

Type: test
This reverts commit 087c811b63aa6b0575149749e188bb37e7fb0513.

Change-Id: Ica12597f27d5a75c33c12c2d27a227dc4866adcb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: add test run time. 84/23684/3
Ole Troan [Thu, 28 Nov 2019 13:48:44 +0000 (14:48 +0100)]
tests: add test run time.

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

4 years agovxlan: fix vxlan hw offload issue 81/23781/3
Chenmin Sun [Wed, 4 Dec 2019 17:41:35 +0000 (01:41 +0800)]
vxlan: fix vxlan hw offload issue

Type: fix

Since Vxlan hw offload jumps the ethernet-input node, so needs to
adjust the data offset accordingly

In original code, the current_data is 0 when arriving vxlan-flow-input
node(due to no graph node before it, except the dpdk-input), so this
code block cannot find the correct vxlan header:
enum
  { payload_offset = sizeof (ip4_vxlan_header_t) };
vlib_buffer_advance (b0, payload_offset);
see code in src/vnet/vxlan/decap.c, function vxlan4_flow_input_node

This patch fixes this issue

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

4 years agosession: fix session_main_get_worker_if_valid 84/23784/2
Nathan Skrzypczak [Wed, 4 Dec 2019 10:02:28 +0000 (11:02 +0100)]
session: fix session_main_get_worker_if_valid

Type: fix

Change-Id: Ie024792015f3c9c52102c9be03da63c79f3456af
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agovcl: resolve VCL part session cleanup issue 76/23776/3
Yu Ping [Tue, 3 Dec 2019 22:49:04 +0000 (06:49 +0800)]
vcl: resolve VCL part session cleanup issue

In Nginx performance test, we notice that there are so many session kept
open with the state of TRANSPORT_DELETE, and it is root caused that
vppcom fails to return close state.

Type: fix

Change-Id: Ia30f959e0e5adb5b8bcfa13fb1dd7b2cb410a31b
Signed-off-by: Yu Ping <ping.yu@intel.com>
4 years agotls: change SSL_has_pending to avoid BIO check error 89/23689/4
Yu Ping [Thu, 28 Nov 2019 19:14:42 +0000 (03:14 +0800)]
tls: change SSL_has_pending to avoid BIO check error

Type: fix

Change-Id: I454aff1b187b75a1328c90e30b9b487377ae5f68
Signed-off-by: Yu Ping <ping.yu@intel.com>
4 years agobuild: fix vom_test dependency on EXTENDED_TESTS 02/23802/2
Dave Wallace [Wed, 4 Dec 2019 23:29:39 +0000 (18:29 -0500)]
build: fix vom_test dependency on EXTENDED_TESTS

- Note: This was not caught by CI because the VPP 'make verify'
  target always build libvom.so

Type: fix
Fixes: f0797d130

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I8663e317e4e793c386b09d1cb887133de1e43faf

4 years agogso: add protocol header parser 32/22932/5
Mohsin Kazmi [Tue, 22 Oct 2019 11:33:13 +0000 (13:33 +0200)]
gso: add protocol header parser

Type: feature

Change-Id: I7c6be2b96d19f82be237f6159944f3164ea512d0
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agotests: fix exception handling around vapi.connect()/.disconnect() 46/23746/2
Paul Vinciguerra [Tue, 3 Dec 2019 02:42:28 +0000 (21:42 -0500)]
tests: fix exception handling around vapi.connect()/.disconnect()

vapi.connect() only raises subclasses of vpp_papi.VPPIOError.
vapi.disconnect() doesn't raise any exceptions, removed uneeded try block.

Type: test

Change-Id: Ide6e6db298b205f14382065862e358757619a5ba
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: add interface function chaining 47/23747/3
Paul Vinciguerra [Tue, 3 Dec 2019 03:38:00 +0000 (22:38 -0500)]
tests: add interface function chaining

Type: test

Change-Id: I24e740aa87a8a4061fa98740f2d636997e18f08d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agovom: get interface type from vpp device type 23/23123/4
Mohsin Kazmi [Wed, 30 Oct 2019 21:59:23 +0000 (22:59 +0100)]
vom: get interface type from vpp device type

Type: feature

Change-Id: Ia626188c22dc80c2b7a06b61cf0af435ee53d1e7
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agofib: Decouple source from priority and behaviour 77/23777/4
Neale Ranns [Wed, 4 Dec 2019 06:11:00 +0000 (06:11 +0000)]
fib: Decouple source from priority and behaviour

Type: feature

the fib_source_t enum alone no longer defines the priority and
behaviour, instead each source must be allocated these attributes.
This allows the creation of other sources by the plugins (and
soon over the API).

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

4 years agogre: Multi-point interfaces 68/20168/7
Neale Ranns [Thu, 18 Apr 2019 10:23:56 +0000 (10:23 +0000)]
gre: Multi-point interfaces

Type: feature

Change-Id: I0129ad6ace44a50a8a3b26db8e445cd06b2b49e8
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agobuild: Add Jon Loeliger as plugin/MAP maintainer. 96/23796/2
Jon Loeliger [Wed, 4 Dec 2019 17:14:49 +0000 (11:14 -0600)]
build: Add Jon Loeliger as plugin/MAP maintainer.

Change-Id: I2e25e6f9481afd7370bad4332906a2a7f0e78081
Type: make
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agomap: Fix a coverity MAP dead-code issue. 97/23797/2
Jon Loeliger [Wed, 4 Dec 2019 17:46:52 +0000 (11:46 -0600)]
map: Fix a coverity MAP dead-code issue.

Type: fix

Change-Id: I5467bbe3b25b1ea3fb44157abe6e7bfb3f191e77
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agobuild: fix make test with distributed src 80/23480/5
Dave Wallace [Fri, 15 Nov 2019 22:29:15 +0000 (17:29 -0500)]
build: fix make test with distributed src

This patch addresses the functionality that is
missing for distributed make test source files.
In addition it extends the concept of colocating
test source code with functional source code
(eg. src/vcl/test). It also cleans up deficiencies
in the make test makefiles.

NOTE: Due to the way sphinx document tools work,
all test, all of the make test python code is
gathered using soft links into the directory:
.../build-root/build-test/src

Change summary:
- Remove 'make test' help details from
  main makefile help output to reduce clutter
  and redundant help output
- Move all generated build output to
  .../build-root/build-test
- Move test_vcl.py as first usecase for
  distributed core feature make test code
- Add test-wipe-all target and fix wipe targets
  to remove all generated files
- Fix 'make test-doc' to generate module
  documentation for all source files
- Remove unused targets in test/doc/Makefile
- Fix 'make test-shell'
- Fix test/ext Makefile to not generate
  bogus output

Type: fix
Fixes: a43c93f8554ad7418e31be3791b3fb71232f60ac

Change-Id: Icc2ddb81d474081c3ede4548ecd7a0624651f62d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agoquic: fix stream tx_fifo race condition 54/23754/4
Nathan Skrzypczak [Tue, 3 Dec 2019 14:08:27 +0000 (15:08 +0100)]
quic: fix stream tx_fifo race condition

Type: fix

There is a race condition in when receiving TX from
a client application :
As egress_emit writes as much data as possible to
the stream, if during egress_emit the app writes
to the fifo, the data will be directly passed to
quicly. Then TX callback happens and triggers
a scheduler update telling quilcy the stream has
data to send. When the next egress_emit is called
and no more data has come, we have nothing to write,
we return len = 0 to quicly which breaks an assert if
a loss happens later on.

Change-Id: I47e00a14dfc9068b5dac7b5c090a89124aea004f
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoquic: clean accept/connect error codepath 32/23732/3
Nathan Skrzypczak [Mon, 2 Dec 2019 16:01:40 +0000 (17:01 +0100)]
quic: clean accept/connect error codepath

Type: fix

First attempt to clean the leftover state when
accept_notify / connect_notify fails due to mq
size constraints. vpp should now be left in a
state such that clean state will eventually be
reached when timers fire.

Change-Id: I9e1166dab2778bf05d5af42d437769651369cae0
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agogso: remove the interface count 92/22192/6
Mohsin Kazmi [Tue, 3 Dec 2019 17:56:26 +0000 (18:56 +0100)]
gso: remove the interface count

Type: refactor

Change-Id: I51405b9d09fb6fb03d08569369fdd4e11c647908
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agoquic: refactor connection search fn 33/23733/2
Nathan Skrzypczak [Mon, 2 Dec 2019 16:12:22 +0000 (17:12 +0100)]
quic: refactor connection search fn

Type: refactor

Change-Id: I55aace44773e4fab0470d27b14dd68544f7d99c5
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoquic: add conn-timeout config option 31/23731/2
Nathan Skrzypczak [Mon, 2 Dec 2019 15:51:17 +0000 (16:51 +0100)]
quic: add conn-timeout config option

Type: feature

Change-Id: Ia9cb57b9f7c2d14a137556d6918763f1cb11850d
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoquic: fix import typo 50/23650/2
Nathan Skrzypczak [Wed, 27 Nov 2019 12:16:11 +0000 (13:16 +0100)]
quic: fix import typo

Type: fix

Change-Id: Iab96ebc1579b0be5b711f975163f9ac96648d2ad
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoip6: Fix improper MCAST adj test in IPv6 router solicitation 68/23768/2
Jon Loeliger [Tue, 3 Dec 2019 16:51:23 +0000 (10:51 -0600)]
ip6: Fix improper MCAST adj test in IPv6 router solicitation

Type: fix
Fixes: cb9cadad578297ffd78fa8a33670bdf1ab669e7e

Change-Id: Id6de9780da41db5d762fe042f533cfaf21ed7b73
Reported-by: Rajith PR <rajith@rtbrick.com>
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agoip: populate ip_reassembly_get_reply correctly 67/23767/2
Matthew Smith [Tue, 3 Dec 2019 18:41:53 +0000 (12:41 -0600)]
ip: populate ip_reassembly_get_reply correctly

Type: fix
Fixes: de34c35fc

The API handler for requests to retrieve IP reassembly settings was
modified to support shallow virtual reassembly. It retrieves
settings into local variables now instead of directly into the reply
message. The fields in the reply message were not being populated
using those variables. So the reply message was being sent with all
0's, except in the is_ip6 field.

Also, the max_reassembly length field in the reply message was not
being populated.

Change-Id: I80b071340fdc190c3a0b1f7294a03f14b6e00ecc
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agofib: constify the adjacency in the rewrite nodes 45/23745/3
Neale Ranns [Mon, 2 Dec 2019 23:28:50 +0000 (23:28 +0000)]
fib: constify the adjacency in the rewrite nodes

Type: refactor

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

4 years agoipip: Tunnel flags controlling copying data to/from payload/encap 41/23641/6
Neale Ranns [Mon, 25 Nov 2019 13:04:44 +0000 (13:04 +0000)]
ipip: Tunnel flags controlling copying data to/from payload/encap

Type: feature

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

4 years agofib feature: Code mechanics to decouple dependency of feature on adj 44/23744/3
Neale Ranns [Mon, 2 Dec 2019 23:10:08 +0000 (23:10 +0000)]
fib feature: Code mechanics to decouple dependency of feature on adj

Type: refactor

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

4 years agobuild: Separate ip and ip6 maintainers 66/23766/2
Jon Loeliger [Tue, 3 Dec 2019 18:13:29 +0000 (12:13 -0600)]
build: Separate ip and ip6 maintainers

Boldly assign IPv6 to Neale and to me.
Ole said so.  Really!

Change-Id: Iaa30a57230558dcf3ee016a94479cac95bb2d50d
Type: make
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agomap: Avoid null dereference in 'map show' and 'map del' 91/23591/4
Jon Loeliger [Thu, 21 Nov 2019 17:15:53 +0000 (11:15 -0600)]
map: Avoid null dereference in 'map show' and 'map del'

If a map domain is created without a tag name, inspecting
the map data will segfault looking for an unset name in
the so-called "domain extras" vector.

Enhance "show map domain" to show all map domains.

Type: fix
Change-Id: Ic55662b84eec58221816da270b2ef9e89c3a31c3
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agohsa: Less verbose logging for many sessions 64/23764/2
Nathan Skrzypczak [Tue, 3 Dec 2019 16:13:09 +0000 (17:13 +0100)]
hsa: Less verbose logging for many sessions

Type: feature

ECHO_LOG has the following levels
0 -> global progression (many connections)
1 -> Connection global evts (some conn, much data)
2 -> More connection events
3 -> Data related logging

Change-Id: I69eeaa0dd02a4b8ebcfefa1c7a218ef57f217d2b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoclassify: API cleanup 51/21551/28
Jakub Grajciar [Tue, 27 Aug 2019 08:16:44 +0000 (10:16 +0200)]
classify: API cleanup

Use consistent API types.

Type: fix

Change-Id: Ib5b1efa76f0a9cecc0bc146f8f8a47c2442fc1db
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agopapi: add a per-call _timeout option 40/23740/2
Paul Vinciguerra [Mon, 2 Dec 2019 18:40:33 +0000 (13:40 -0500)]
papi: add a per-call _timeout option

 add the ability to override the default timeout value on a per-call
 basis.
 Use:
   rv = self.vapi.papi.cli_inband(cmd='wait 10', _timeout=15)

Type: feature

Change-Id: Ia90a58586a1f63e02118599a2a4b7141e5a0b90d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: vpp_interface fix ip6 setter 14/23714/3
Paul Vinciguerra [Mon, 2 Dec 2019 02:55:52 +0000 (21:55 -0500)]
tests: vpp_interface fix ip6 setter

Type: fix
Fixes: efd7bc2b1c8db160933ed3e9ab3cde0d07aaf863

Change-Id: I254f9fe44189f88621b9b0ff3f869efb9966ada5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoipsec: Changes to make ipsec encoder/decoders reusable by the plugins 19/23419/19
Prashant Maheshwari [Thu, 14 Nov 2019 07:12:59 +0000 (12:42 +0530)]
ipsec: Changes to make ipsec encoder/decoders reusable by the plugins

Type: fix

Signed-off-by: Prashant Maheshwari <pmahesh2@cisco.com>
Change-Id: I81b937fc8cfec36f8fb5de711ffbb02f23f3664e
Signed-off-by: Prashant Maheshwari <pmahesh2@cisco.com>
4 years agotests: GRE over IPSec unit tests 43/23743/2
Neale Ranns [Mon, 2 Dec 2019 22:32:05 +0000 (22:32 +0000)]
tests: GRE over IPSec unit tests

Type: test

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

4 years agovppinfra: preserve total_cpu_time across clock freq adjustment 09/23709/4
Dave Barach [Sun, 1 Dec 2019 13:59:03 +0000 (08:59 -0500)]
vppinfra: preserve total_cpu_time across clock freq adjustment

If clib_time_verify_frequency() adjusts the clock frequency, transform
total_cpu_time to the new time coordinate space. Otherwise, we break
comparisons with previous clib_time_now() value.

Without this correction, time jumps in one direction or the other
depending on the sign of the frequency change. Reasonably harmless in
most cases, but under perfect storm conditions the wheels fall off.

Type: fix

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

4 years agotests: raise exception in vpp_interface for invalid sw_if_index 15/23715/3
Paul Vinciguerra [Mon, 2 Dec 2019 03:16:54 +0000 (22:16 -0500)]
tests: raise exception in vpp_interface for invalid sw_if_index

Type: test

Change-Id: I34058f2bd20f61a8f8355299a8df95f2948c25eb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agobonding: add/del secondary mac address callback 36/23436/5
Matthew Smith [Thu, 14 Nov 2019 16:36:02 +0000 (10:36 -0600)]
bonding: add/del secondary mac address callback

Type: feature

Add a callback to the bond device class which allows a secondary
mac address to be added/deleted.

The desired operation is performed on all the hardware interfaces
which belong to the bond interface. This allows virtual MAC
addresses to be used on bond interfaces without requiring the
hardware interfaces to have promiscuous mode enabled.

When a hardware interface is added or removed from a bond, if there
are any secondary MAC addresses configured on the bond, they are
added or removed from the hardware interface.

Change-Id: If9488078b4d7869ecc56ef6853f3cc9891211860
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agotests: BFD python3 changes 17/23717/2
snaramre [Mon, 2 Dec 2019 05:49:28 +0000 (05:49 +0000)]
tests: BFD python3 changes

Type: fix
Change-Id: Ie441e81fe3971d70f96196c79d74658f910b4875
Signed-off-by: snaramre <snaramre@cisco.com>
4 years agodhcp: add FEATURE.yaml for the DHCP plugin 00/23700/3
Jerome Tollet [Fri, 29 Nov 2019 17:21:46 +0000 (18:21 +0100)]
dhcp: add FEATURE.yaml for the DHCP plugin

Type: docs

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ia2b892e550d391d421d9980d736768c918955cb6

4 years agosession: no cleanup notification for forced deletes 01/23701/2
Florin Coras [Fri, 29 Nov 2019 17:31:47 +0000 (09:31 -0800)]
session: no cleanup notification for forced deletes

Type: refactor

Change-Id: Ib36cc3f1173d093e9050f9fecda343df2aa3dc1f
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoclassify: debug cli %v not %s 91/23691/1
Dave Barach [Fri, 29 Nov 2019 13:40:58 +0000 (08:40 -0500)]
classify: debug cli %v not %s

Type: fix

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

4 years agoip: init l3_hdr_offset when pushing an ip4 header 48/23648/2
Florin Coras [Wed, 27 Nov 2019 02:43:25 +0000 (18:43 -0800)]
ip: init l3_hdr_offset when pushing an ip4 header

Type: fix

Change-Id: I87503b9a981724b1f3ff1c45a4a5f7a43024ca76
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovlib: add 'wait' cli command 04/23004/10
Paul Vinciguerra [Sun, 27 Oct 2019 02:25:49 +0000 (22:25 -0400)]
vlib: add 'wait' cli command

When running exec scripts, there can be a need to wait between statements.

Type: feature

Change-Id: I2a45b390697e09fc222358c9354f28e3368a06ba
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: display stdout and stderr when output caching is disabled 87/23587/2
Benoît Ganne [Thu, 21 Nov 2019 15:50:24 +0000 (16:50 +0100)]
tests: display stdout and stderr when output caching is disabled

Type: fix

Change-Id: I4286ba58bb15dd67c1199f76166bedf3b4e0344c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agonat: fix dhcp client on outside interface with output feature 08/23608/2
Alexander Chernavin [Fri, 22 Nov 2019 15:10:45 +0000 (10:10 -0500)]
nat: fix dhcp client on outside interface with output feature

When a DHCP client is configured on a NAT outside interface with
output feature enabled, DHCP packets will reach the NAT in2out-output
node and will be dropped with "out of ports" reason.

With this commit, allow locally originated DHCP packets to be sent
from a NAT outside interface with output feature enabled.

Type: fix

Change-Id: I47d76b22587f2bf0c7b0b9dfda41c89f8f61d0b4
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
4 years agomisc: add address sanitizer heap instrumentation 37/21937/10
Benoît Ganne [Mon, 15 Apr 2019 13:28:21 +0000 (15:28 +0200)]
misc: add address sanitizer heap instrumentation

Introduce AddressSanitizer support: https://github.com/google/sanitizers/
This starts with heap instrumentation. vlib_buffer, bihash and stack
instrumentation should follow.

Type: feature

Change-Id: I7f20e235b2f79db72efd0e756f22c75f717a9884
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agopapi: fix typo in repr 44/23644/3
Paul Vinciguerra [Tue, 26 Nov 2019 19:15:53 +0000 (14:15 -0500)]
papi: fix typo in repr

Reported by Vratko's review.
(Thanks for the review)

Fixes: 14b0b4791c0b8c886e7b5c9ca667d060f0bada0b

Type: fix

Change-Id: I9c080c0c40060cc77977e76edae03d60eb393ce2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agofib: Fix crash on cover update to non activated adj source 45/23645/4
Neale Ranns [Tue, 26 Nov 2019 19:30:08 +0000 (19:30 +0000)]
fib: Fix crash on cover update to non activated adj source

if the adj source is not active then there is no existing cover
during a cover update

Type: fix
Ticket: VPP-1803
Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ie912f1c99345de4fb012bdcd97b443098d4a7351

4 years agomap: Fix inverted 'map security check enable' CLI flag. 46/23646/1
Jon Loeliger [Tue, 26 Nov 2019 19:47:49 +0000 (13:47 -0600)]
map: Fix inverted 'map security check enable' CLI flag.

Type: fix
Fixes: 5a2e278a09726be627b8310e03f0522d60aafedf

Change-Id: Ibdc2f0be44e382bfa4a8f3e16be8d6239d7a0ec1
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agoquic: Refactor for crypto contexts 81/23381/9
Nathan Skrzypczak [Tue, 12 Nov 2019 15:41:00 +0000 (16:41 +0100)]
quic: Refactor for crypto contexts

Type: refactor

Change-Id: I5ec7079d34826edd7a3048ae1d44037386f5d3ff
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoflow: fix several crash issues 82/23582/2
Chenmin Sun [Thu, 21 Nov 2019 21:33:40 +0000 (05:33 +0800)]
flow: fix several crash issues

Type: fix

This patch fixes crash issues(marked in brackets) in the below test cases

test flow enable index 0 1/1 -> [crash]
test flow disable index 0 1/1 -> [crash]

test flow add src-ip 192.168.8.8 proto udp redirect-to-queue 8
test flow enable index 0 1/1
test flow disable index 0 1/1 - [crash]

test flow add src-ip 192.168.8.8 proto udp redirect-to-queue 8
test flow enable index 0 1/1
test flow enable index 0 1/2
test flow del index 0 -> [crash]

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

4 years agofib: reduce save_rewrite_length to u8 78/23578/3
Klement Sekera [Thu, 21 Nov 2019 10:31:03 +0000 (10:31 +0000)]
fib: reduce save_rewrite_length to u8

This is a preparation step for migrating NAT to use SVR (shallow virtual
reassembly) to conserve space in vnet_buffer. Since max rewrite length
is currently pre-data size (128), u8 is sufficient to hold that value.

Type: refactor

Change-Id: I5374bb396e178245b870cb0bbf1370d2a54230bc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
4 years agofib: Another realloc burn 77/23577/2
Neale Ranns [Thu, 21 Nov 2019 09:37:41 +0000 (09:37 +0000)]
fib: Another realloc burn

Type: fix

harmless this time since it only affects the debug statement, but
it still crashes an ASAN image.

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

4 years agomisc: add gdb helpers for vlib buffers 86/23586/2
Benoît Ganne [Thu, 21 Nov 2019 15:53:31 +0000 (16:53 +0100)]
misc: add gdb helpers for vlib buffers

Type: feature

Change-Id: I7e619040857310fffd33c355f6c491a55f7a4a02
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agolb: lb_add_del_vip and lb_add_del_as doesn't work. 35/23635/3
Hongjun Ni [Tue, 26 Nov 2019 11:36:17 +0000 (19:36 +0800)]
lb: lb_add_del_vip and lb_add_del_as doesn't work.

Ticket: FDIO-753
Type: fix

Change-Id: I4a8cf06970b658dfa15768459a3ff76571d6dfff
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
4 years agobuild: remove valgrind leftovers 28/23628/2
Benoît Ganne [Mon, 25 Nov 2019 15:28:50 +0000 (16:28 +0100)]
build: remove valgrind leftovers

Valgrind never really worked well with VPP. Remove the partial support.

Type: refactor

Change-Id: Ic09773fd85f904fdd2240bc161e23a4c2b196cf6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agoethernet: all dmac checks include secondary addrs 25/23525/2
Matthew Smith [Mon, 18 Nov 2019 15:35:24 +0000 (09:35 -0600)]
ethernet: all dmac checks include secondary addrs

Type: feature

In ethernet_input_inline(), when verifying that the destination
mac address on a received packet matches the mac address of the
interface where the packet was received, check the secondary
addresses on the interface if the primary address does not match.

This was done previously for eth_input_single_int().

Change-Id: I45716184dd789d83852271f9c79cedf5f6cbf75b
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agofib: Table Replace 36/23336/6
Neale Ranns [Fri, 8 Nov 2019 12:42:31 +0000 (12:42 +0000)]
fib: Table Replace

Type: feature

from the API doc, a table replace is:

"
    The use-case is that, for some unspecified reason, the control plane
    has a very different set of entries it wants in the table than VPP
    currently has. The CP would thus like to 'replace' VPP's current table
    only by specifying what the new set of entries shall be, i.e. it is not
    going to delete anything that already eixts.
    the CP delcartes the start of this procedure with this begin_replace
    API Call, and when it has populated all the entries it wants, it calls
    the below end_replace API. From this point on it is of coursce free
    to add and delete entries as usual.
    The underlying mechanism by which VPP implements this replace is
    purposefully left unspecified.
"

In the FIB, the algorithm is implemented using mark and sweep.

Algorithm goes:
1) replace_begin: this marks all the entries in that table as 'stale'
2) download all the entries that should be in this table
 - this clears the stale flag on those entries
3) signal the table converged: ip_table_replace_end
 - this removes all entries that are still stale

this procedure can be used when an agent first connects to VPP,
as an alternative to dump and diff state reconciliation.

Change-Id: I168edec10cf7670866076b129ebfe6149ea8222e
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agotap: fix coverity warning 205875 30/23630/2
Andrew Yourtchenko [Mon, 25 Nov 2019 18:25:46 +0000 (18:25 +0000)]
tap: fix coverity warning 205875

check the return result from fcntl, and if error, behave
the same way the expansion of _IOCTL macro does.

Type: fix
Change-Id: I6d537d1bdedae64470612aef64b46e07387fe84b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agotcp: honor cc pacing rate when resetting pacer 29/23629/5
Florin Coras [Mon, 25 Nov 2019 17:41:37 +0000 (09:41 -0800)]
tcp: honor cc pacing rate when resetting pacer

Type: fix

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