vpp.git
14 months agoipsec: fix AES CBC IV generation (CVE-2022-46397) 64/38164/1 stable/2106
Benoît Ganne [Tue, 18 Jan 2022 14:56:41 +0000 (15:56 +0100)]
ipsec: fix AES CBC IV generation (CVE-2022-46397)

For AES-CBC, the IV must be unpredictable (see NIST SP800-38a Appendix
C). Chaining IVs like is done by ipsecmb and native backends for the
VNET_CRYPTO_OP_FLAG_INIT_IV is fully predictable.
Encrypt a counter as part of the message, making the (predictable)
counter-generated IV unpredictable.

Fixes: VPP-2037
Type: fix

Change-Id: If4f192d62bf97dda553e7573331c75efa11822ae
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agordma: fix rdma-core install 36/34636/2
Benoît Ganne [Tue, 30 Nov 2021 08:15:38 +0000 (09:15 +0100)]
rdma: fix rdma-core install

We should not install symlinks to local build directory.

Type: fix

Change-Id: I81e624dd5775ec9c5dd8c58f578ee51c5acfef73
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 521a9f8eb9d35d2d8783175b89821c6a157237ca)

2 years agobuild: Remove boost dependencies from VOM 38/34638/3
Dave Wallace [Tue, 30 Nov 2021 16:00:23 +0000 (11:00 -0500)]
build: Remove boost dependencies from VOM

- VOM was deprecated in VPP 21.06, but the boost library
  dependencies did not get cleaned up.

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I0fb860a7a37676c1a1a0981c91f383882d9a820a
(cherry picked from commit bfcd23968246086b5b884f7df1e78adb1a059724)
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2 years agodpdk: fix missing symbol 39/33039/1
Fan Zhang [Tue, 25 May 2021 14:50:30 +0000 (15:50 +0100)]
dpdk: fix missing symbol

Type: fix

This patch fixes the missing symbol of dpdk_plugin.so when
creating symmetric key. The solution is to add dependency
of libssl to dpdk cryptodev and disable cryptodev engine
when libssl is not presented.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I30aa6e3e3af1faefa82883bad613e1d82235a2ec
(cherry picked from commit 3f3da0d27dcf83808f2691205b891a42ac2b4679)

2 years agomisc: 21.06 Release Notes 54/32454/6 v21.06
Andrew Yourtchenko [Wed, 26 May 2021 14:52:41 +0000 (14:52 +0000)]
misc: 21.06 Release Notes

Change-Id: Iedd1263a971e50aceb2d579982484dd8873814dc
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2 years agosession: free ctrl event data on connect rpc 32/32932/1
Florin Coras [Tue, 29 Jun 2021 20:27:45 +0000 (13:27 -0700)]
session: free ctrl event data on connect rpc

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I56c4682aef59ed0e69073f9001341c425e65bd48
(cherry picked from commit 595724a49072b30356e365ce78a3cc815980d342)

2 years agovcl: Don't use app_socket_api to notify VPP in parent when child exited 31/32931/2
wanghanlin [Tue, 29 Jun 2021 08:01:55 +0000 (16:01 +0800)]
vcl: Don't use app_socket_api to notify VPP in parent when child exited

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Icd2fc3cc2d0a0a6060abfb262044cf9e09ab4ba2
(cherry picked from commit b940fd4d5a16b62a5aa09b924140a135fd06c6bb)

2 years agovcl: epoll fix postponed evt handling 30/32930/1
Florin Coras [Tue, 29 Jun 2021 02:13:29 +0000 (19:13 -0700)]
vcl: epoll fix postponed evt handling

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3d208f8ef4638e7557929f4b2bca4d640af85baa
(cherry picked from commit 87f7600dd67debf68d1236395cefdc5d6e7484fb)

2 years agostats: fix race conditions in vpp-api stats client 18/32918/2
Arthur de Kerhor [Thu, 24 Jun 2021 17:39:44 +0000 (19:39 +0200)]
stats: fix race conditions in vpp-api stats client

Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ie5c197f6ec0d41d5e405b22662701d83ad94d29e
(cherry picked from commit c9ae8cfaccd75fbc2dc27bdebccdbd14fc0cb60c)

2 years agosession: avoid reordering unlisten and connect msg 90/32790/1
Florin Coras [Tue, 22 Jun 2021 21:20:39 +0000 (14:20 -0700)]
session: avoid reordering unlisten and connect msg

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe32f7965f8cf457c39845713b029c8a4647ee55
(cherry picked from commit c53eb72931bc8c75204141f3952ac7682f0ae697)

2 years agovlib: fix coverity warning 82/32782/1
Dave Barach [Mon, 21 Jun 2021 14:31:35 +0000 (10:31 -0400)]
vlib: fix coverity warning

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib563e2c09d46cc26fb983ffde3d5fcb88166f6a5
(cherry picked from commit bfb9a66fab43e935772806e9d2f6b0ecf7146d67)

2 years agovcl: fix worker cleanup 10/32710/3
Florin Coras [Wed, 16 Jun 2021 21:41:01 +0000 (14:41 -0700)]
vcl: fix worker cleanup

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I575068df56623f24c0290fa42b8d301548a089d4
(cherry picked from commit cba215dad3101c6b03483c5c40f806903de8460d)

2 years agotls: increase engine bits room in handle to support custom engine type 76/32776/2
jxm [Thu, 17 Jun 2021 04:44:40 +0000 (04:44 +0000)]
tls: increase engine bits room in handle to support custom engine type

Type: improvement
Signed-off-by: jxm <jiangxiaoming@outlook.com>
Change-Id: I80a51e841f9727b68d1de713b6b6d51675ef53c5
(cherry picked from commit 975fde82b11307180b3df7dc9b5b1b496f207a08)

2 years agovcl: fix fifo sharing 09/32709/1
Florin Coras [Wed, 16 Jun 2021 21:46:57 +0000 (14:46 -0700)]
vcl: fix fifo sharing

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iec1fe8315a057214901250d5fb06d1c1e33dda46
(cherry picked from commit 8eb8d50ecfd7507aae340cb05a0fb07a790e4303)

2 years agosession: fix listener ct transport retrieval on accept 96/32696/2 v21.06-rc2
Florin Coras [Sat, 12 Jun 2021 18:56:19 +0000 (11:56 -0700)]
session: fix listener ct transport retrieval on accept

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ied2608e7a28c59c908803ca676abbe93072fadb8
(cherry picked from commit ba02641cc7a27ff02aca65036ffc4bd003497f0b)

2 years agotcp: fix proto in port reuse check 75/32675/2
Florin Coras [Sat, 12 Jun 2021 18:47:37 +0000 (11:47 -0700)]
tcp: fix proto in port reuse check

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I338e61654a62ed6308ecd8bb15e1a8b13cd859b9
(cherry picked from commit 41a6fbada173b2733ca3b43bf620d6a9634c50da)

2 years agovlib: fix dangling reference in node_by_name hash 97/32697/1
Dave Barach [Fri, 11 Jun 2021 16:57:23 +0000 (12:57 -0400)]
vlib: fix dangling reference in node_by_name hash

When recycling a debug CLI process node, unix_cli_file_add() needs to
delete and recreate the related node_by_name hash table entry.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I635da4918509d5b22eae37627c2d9b3608380ca6
(cherry picked from commit 52c33d60bc63626d400067e38ab0af312fdb8594)

2 years agomemif: fix crash with zero-copy slave 74/32674/2
Damjan Marion [Thu, 10 Jun 2021 15:41:57 +0000 (17:41 +0200)]
memif: fix crash with zero-copy slave

Type: fix
Change-Id: I456cc0b0a6f2dc32b14791baf9d4a7f67279e8df
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agosession: half-open free only on main thread 73/32673/2
Florin Coras [Fri, 11 Jun 2021 05:50:26 +0000 (22:50 -0700)]
session: half-open free only on main thread

TCP and (D)TLS clean up half-opens on main without a lock/barrier so
cleanup initiated from first worker, e.g., cut-throughs, can corrupt the
session pool.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2e5162831c0e201b22454f17fe55bfac44b85fa9
(cherry picked from commit 6bd54caf46aaa68dddbae6161688d428ce60550b)

2 years agodocs: cleanup, remove stale material 72/32672/1
Dave Barach [Wed, 9 Jun 2021 11:49:34 +0000 (07:49 -0400)]
docs: cleanup, remove stale material

Point https://fd.io/docs/vpp/master/links/index.html at docs.fd.io/vpp
instead of at one specific stale release

Remove https://fd.io/docs/vpp/master/featuresbyrelease/index.html

Remove https://fd.io/docs/vpp/master/events/index.html

Remove dead projects from
https://fd.io/docs/vpp/master/relatedprojects/index.html

Remove unsupported distros from
https://fd.io/docs/vpp/master/whatisvpp/supported.html

Reduce (doxygen) list of test framework doc files to actively
supported releases

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I179966fbbe09ac123e5f2647787a8dea93190b5c
(cherry picked from commit 3db2c670a157b8bf2daccf77a872c154f88f6d0a)

2 years agovcl: touch fifo on epoll del only if session open 63/32663/1
Florin Coras [Thu, 10 Jun 2021 15:08:53 +0000 (08:08 -0700)]
vcl: touch fifo on epoll del only if session open

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0971c18a183319d09486459b0da08d44ce38acef
(cherry picked from commit f1ddeeb15555e783a9cb0133d4f8eb9c40852ab5)

2 years agofib: make sure dpo is valid even when path pool expands 29/32629/2
Benoît Ganne [Tue, 8 Jun 2021 16:44:37 +0000 (18:44 +0200)]
fib: make sure dpo is valid even when path pool expands

The path pool can expand during in fib_path_attached_next_hop_get_adj()
when calling adj_nbr_add_or_lock(). If dpo points to a path->fp_dpo, its
reference becomes stale.
Use a temporary copy instead.

Type: fix

Change-Id: Ie966cb5f3f7b416425964dca12f1f586bfc2010c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit e9d7b0982d7bd189097260b6581abff472da251a)

2 years agofib: make sure adj is valid during walk 28/32628/2
Benoît Ganne [Tue, 8 Jun 2021 14:25:14 +0000 (16:25 +0200)]
fib: make sure adj is valid during walk

The adj can be deleted during fib_walk_sync(), make sure it can happen
only after clearing the SYNC_WALK_ACTIVE flag.

Type: fix

Change-Id: I68be00e9602e2783d9dced71c51547c38b7e8a00
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 9f10edbb46dc1937ed99469a581723cb1ac1ff45)

2 years agoipsec: fix crypto ops in esp decrypt 27/32627/1
Benoît Ganne [Thu, 27 May 2021 16:49:42 +0000 (18:49 +0200)]
ipsec: fix crypto ops in esp decrypt

When both chained and non-chained buffers are processed in the same
vector, make sure the non-chained buffers are processed as non-chained
crypto ops.

Type: fix

Change-Id: I19fc02c25a0d5e2e8a1342e2b88bbae3fe92862f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit e631ece4aa32b33651ed458200ab551ffb8fbb47)

2 years agovppinfra: pool_free_elts() now supports fixed-size pools 26/32626/2
Dave Barach [Wed, 2 Jun 2021 22:18:18 +0000 (18:18 -0400)]
vppinfra: pool_free_elts() now supports fixed-size pools

Test added to the unittest plugin / test_vlib.py

Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I73445e57918347c102ff6f5e8c9ddb9bd96f1407
(cherry picked from commit 4de5f9be88857197ddf17e3bff66318f78f4b6bb)

2 years agovcl: avoid multiple reads on peek 21/32621/2
Florin Coras [Fri, 4 Jun 2021 23:28:18 +0000 (16:28 -0700)]
vcl: avoid multiple reads on peek

Only try once and return what was found.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I50b1d26babf1b7431d36f6b7472a1fb01475bb35
(cherry picked from commit 233683180638d1c7f517b713722cbbeb3b4be86e)

2 years agovcl: avoid updating errno on ldp init check 79/32579/3
Florin Coras [Thu, 3 Jun 2021 04:22:21 +0000 (21:22 -0700)]
vcl: avoid updating errno on ldp init check

Type: fix

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

2 years agotls: change picotls plugin crypto module to accommodate new version picotls 23/32623/2
Simon Zhang [Mon, 7 Jun 2021 15:19:33 +0000 (23:19 +0800)]
tls: change picotls plugin crypto module to accommodate new version picotls

Type: fix

Change-Id: I58931e235535be7d596ca578790f389b64a4fbd2
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
(cherry picked from commit 778b3186fc911af2aabbbfbf56bc1df5e2373061)

2 years agovcl: accept zero length writes 22/32622/2
Florin Coras [Sat, 5 Jun 2021 00:31:53 +0000 (17:31 -0700)]
vcl: accept zero length writes

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I84985f59274e77219a38ea6ac865fc73ac635d72
(cherry picked from commit 0b0d28e9bf1ea078ce1a846d22e499d13eadd464)

2 years agovcl: epoll error handling fixes and improvements 20/32620/2
Florin Coras [Fri, 4 Jun 2021 22:59:41 +0000 (15:59 -0700)]
vcl: epoll error handling fixes and improvements

- return VPPCOM_EEXIST if attempting to re-add a session
- return VPPCOM_ENOENT if the session to be removed is not epolled
- generate EPOLLIN if adding it through a mod operation on a session
that has data and did not have the event previously set.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I728a06b8cf84af8d8c1dea7406e284de8886dffc
(cherry picked from commit 2645f68985df4955fd8a161224595dad9f4ab488)

2 years agodpdk: silence coverity warning on use of uninitialized value 94/32594/2
pibr [Fri, 4 Jun 2021 16:16:26 +0000 (16:16 +0000)]
dpdk: silence coverity warning on use of uninitialized value

Type: fix

Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I76923ad5035498aae821db4fd42a127617476fbb
(cherry picked from commit d838e533f1f8f5335ceadb193fa9554f44d04fbf)

2 years agobuild: fix build error after make wipe 93/32593/3
Tianyu Li [Fri, 4 Jun 2021 09:43:01 +0000 (17:43 +0800)]
build: fix build error after make wipe

ninja: error: '/home/vpp/src/vpp-api/vapi/fake.api.json',
needed by 'CMakeFiles/vpp-api/vapi/fake.api.vapi.h',
missing and no known rule to make it

Recent fake.api.json has been moved from test/ to src/,
update make wipe to reflect the movement.

Type: fix

Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I1e8ef414a3f8a2fce11767e0778fe21e14d54e6f
(cherry picked from commit 0b652134752890fd987152005ed378a9520d2c68)

2 years agonat: fix broken nat44-ed cli 37/32537/2
Ruslan Babayev [Tue, 1 Jun 2021 03:23:57 +0000 (20:23 -0700)]
nat: fix broken nat44-ed cli

snat_set_frame_queue_nelts has been replaced with
nat44_ed_set_frame_queue_nelts.

Type: fix
Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
Change-Id: I8d970be71376fdbb2bfd383d4d5824a8def93bb3

2 years agobuild: fix centos-8 cmake missing package dependency 95/32595/1
Dave Wallace [Sat, 5 Jun 2021 02:55:18 +0000 (22:55 -0400)]
build: fix centos-8 cmake missing package dependency

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I199fea4607cf38a127ed31b2ddf1dd993a2462ba
(cherry picked from commit e20d3c8c007bb7437ef7d1db47cfefb4235c0fe6)

2 years agotests: Fix 'test-wipe' 92/32592/1
Neale Ranns [Wed, 26 May 2021 12:57:14 +0000 (12:57 +0000)]
tests: Fix 'test-wipe'

Type: fix

Error:
vagrant@ ~/vpp (make-test-wipe) $ make test-wipe
make[1]: Entering directory '/home/vagrant/vpp/test'
make[2]: Entering directory '/home/vagrant/vpp/test'
make[2]: *** ext: No such file or directory.  Stop.
make[2]: Leaving directory '/home/vagrant/vpp/test'
make[1]: *** [Makefile:239: wipe] Error 2
make[1]: Leaving directory '/home/vagrant/vpp/test'
make: *** [Makefile:440: test-wipe] Error 2

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3615a962882d5d56c394aa628e9942fed07cde84
(cherry picked from commit 46cb4c40941e06d726c116975c321603766d24bd)

2 years agodpdk: disable i40evf in favor of iavf patch 33/32533/2
Juraj Linkeš [Thu, 27 May 2021 10:06:12 +0000 (12:06 +0200)]
dpdk: disable i40evf in favor of iavf patch

Fix an issue where multiple VPP instances with DPDK starting at the
same time would not initialize VFs properly. This is done by using the
iavf PMD (where the issue can't be reproduced) instead of the i40evf
PMD.

Type: fix
Ticket: VPP-1943
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Change-Id: I444bd24722f81faec836478851e7cc3c72143227

2 years agosvm: release mem order for fifo chunk list CAS 78/32578/3
Florin Coras [Wed, 2 Jun 2021 18:17:29 +0000 (11:17 -0700)]
svm: release mem order for fifo chunk list CAS

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ifad679f46abd6e9c18a3eaf7e55800a09f3791ab
(cherry picked from commit 324d161963025a595a79a10cf953b23250f825a1)

2 years agosession: avoid ct connects loop 76/32576/2
Florin Coras [Thu, 3 Jun 2021 04:32:39 +0000 (21:32 -0700)]
session: avoid ct connects loop

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I99af136ecab9be1f9e00de6d197b8f1c74ab4b20
(cherry picked from commit 821b5002bf5cd18e1ec7750ff1b6fb379b241869)

2 years agosession: lcl transport info on accept 77/32577/2
Florin Coras [Wed, 10 Mar 2021 02:36:06 +0000 (18:36 -0800)]
session: lcl transport info on accept

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia46b0b8afed30f84b244c06f0457303f9e8832cd
(cherry picked from commit 67c90a32b7ad0c5a38c483ce849cc7a231e7ba54)

2 years agosrtp: cleanup build and default to disabled 21/32521/2
Florin Coras [Fri, 28 May 2021 16:06:51 +0000 (09:06 -0700)]
srtp: cleanup build and default to disabled

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I62fb56257445a05105e556d1ea6cc6280b5eeccc
(cherry picked from commit 427feb6fdd8aee373405dbd3a59f69440107b046)

2 years agomisc: bug fixes and improvements for stats Fuse fs 32/32532/1
Arthur de Kerhor [Wed, 24 Mar 2021 14:32:07 +0000 (07:32 -0700)]
misc: bug fixes and improvements for stats Fuse fs

Added syslogs
Added support for symlinks
Relocated make commands in a local Makefile
Dumping stats on index instead of paths
Updated README
Added go.mod and go.sum with relevant dependencies for the module

Type: fix
Change-Id: I2c91317939b2f4d765771ab7038372ae27d3109d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
(cherry picked from commit 9cfbd3b7869db3ca5131c6fd0c0f77b787fa4312)

2 years agointerface: fix vnet_sw_interface_update_unnumbered 32/32332/2
Dave Barach [Sat, 29 May 2021 13:00:45 +0000 (09:00 -0400)]
interface: fix vnet_sw_interface_update_unnumbered

Unless a software interface is actually unnumbered, do not set
ip[46]_main.lookup_main.if_address_pool_index_by_sw_if_index [sw_if_index]
to ~0

Fixes this scenario:

loop create
set int state loop0 up
create sub-interface loop0 1
set interface ip addr loop0.1 192.168.1.1/24
delete sub-interface loop0.1
set int ip addr loop0 192.168.1.1/24

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I46141d862fa57d70b93d7bb0c105403708165264
(cherry picked from commit 64d20e76b9108c9158b2b538cd2312d740f48103)

2 years agotls: fix handling of failed accepts 27/32327/3
Florin Coras [Sat, 29 May 2021 01:28:05 +0000 (18:28 -0700)]
tls: fix handling of failed accepts

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I34b53dcaf4f049157b538ea40a39033d43e525a5
(cherry picked from commit b6fe52f3da79d4c4ea8095b9d36988b0825a9891)

2 years agohsa: proxy listener support addition of fifo segments 28/32328/1
Florin Coras [Sat, 29 May 2021 01:34:12 +0000 (18:34 -0700)]
hsa: proxy listener support addition of fifo segments

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I59218f784140ef5ecb8468af6aebfe25fd7703a4
(cherry picked from commit b740fdc8ff7f58637524e999d5fe01b8b010810d)

2 years agosvm: fix inadequate atomic load for chunk mgr 26/32326/1
Dave Wallace [Thu, 27 May 2021 23:44:50 +0000 (19:44 -0400)]
svm: fix inadequate atomic load for chunk mgr

- Fixes intermittent LDP cut thru iperf3 test
  failure on AARCH64

Type: fix

Change-Id: Id21a078d642e03d974bacacd1f4d0faa42fb6652
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 5c520919e838bcb645ddd879641d54c620740989)

2 years agovppinfra: explicit blocking mode for sock connects 25/32325/1
Florin Coras [Wed, 26 May 2021 17:21:10 +0000 (10:21 -0700)]
vppinfra: explicit blocking mode for sock connects

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3a33230de13fef613dc9523cf24a9968d200c2e5
(cherry picked from commit 57e0af924b8b48cf39b1020bf11f10e3c227f22c)

2 years agomisc: Initial changes for stable/2106 branch 51/32451/1 v21.06-rc1
Andrew Yourtchenko [Wed, 26 May 2021 13:05:36 +0000 (13:05 +0000)]
misc: Initial changes for stable/2106 branch

Change-Id: Ia484268463cc504902402cde2243f0cfdb02d101
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2 years agofib: During the mfib lookup set the unicast FIB index in the packet so that a uRPF... 98/32298/5
Neale Ranns [Thu, 13 May 2021 15:28:27 +0000 (15:28 +0000)]
fib: During the mfib lookup set the unicast FIB index in the packet so that a uRPF check on a for-us packet is done in the correct VRF

Type: fix

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iafa6efea0d96962aa9136dccefc148a961f74476

2 years agopg: revert exec file fixes 38/32438/3
Ray Kinsella [Tue, 25 May 2021 14:55:52 +0000 (15:55 +0100)]
pg: revert exec file fixes

This reverts commit fd4fd0d1853ae7384e7a64c4cad17a3469720b95.

Type: fix
Change-Id: I6ef84f646372270ded486eacee81817067e49106
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2 years agonat: add thread index assertions 68/31768/6
Klement Sekera [Thu, 25 Mar 2021 14:39:15 +0000 (15:39 +0100)]
nat: add thread index assertions

Add extra assertions to debug build.

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ib20130365e8f9dbb556fcbb4321dd184c7eff603

2 years agoapi: socket client connect set to blocking 28/32428/3
Florin Coras [Mon, 24 May 2021 15:58:15 +0000 (08:58 -0700)]
api: socket client connect set to blocking

Binary api client must otherwise check the returned error and if it was
EAGAIN/EINPROGRESS poll for connect completion.

Type: improvement

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

2 years agovlib: revert exec cmd handle scripts with blank lines 37/32437/2
Ray Kinsella [Tue, 25 May 2021 14:55:30 +0000 (15:55 +0100)]
vlib: revert exec cmd handle scripts with blank lines

This reverts commit 269e1569e1f7798bf7d7f539daf505b2f1997a08.

Type: fix

Change-Id: I40bd71ae3b5e9dc8345fb2460aae437de8a9a5ba
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2 years agoperfmon: revert raw column support 24/32424/2
Ray Kinsella [Fri, 21 May 2021 15:17:39 +0000 (16:17 +0100)]
perfmon: revert raw column support

Revert raw column from the perfmon plugin.

Type: refactor

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: If127f57ee2022cc1c0ea5177f1655a792f195f1d

2 years agotests: move vapi C/C++ test files into src/ 39/32439/4
Damjan Marion [Tue, 25 May 2021 16:29:24 +0000 (18:29 +0200)]
tests: move vapi C/C++ test files into src/

Type: improvement
Change-Id: Iaad004661db1e9076e6c27227878f1612fa7289f
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2 years agosrtp: basic implementation based on libsrtp2 52/30652/47
Florin Coras [Thu, 7 Jan 2021 01:35:17 +0000 (17:35 -0800)]
srtp: basic implementation based on libsrtp2

Type: feature

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

2 years agolinux-cp: A V2 variant of pair create API that returns the host 11/32411/2
Neale Ranns [Fri, 21 May 2021 09:47:08 +0000 (09:47 +0000)]
linux-cp: A V2 variant of pair create API that returns the host
interface created

Type: improvement

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I31a83cd50513078895078bae3ae11372d351ddcd

2 years agonat: report correct EI per-user session limit 01/32301/5
Matthew Smith [Thu, 13 May 2021 16:11:33 +0000 (11:11 -0500)]
nat: report correct EI per-user session limit

Type: fix

When enabling the endpoint independent NAT44 plugin, user_sessions
determines the maximum number of translations that can be active for
a single inside address. If 0 is passed in, a default value is used
but 0 is still stored in the field that is used to populate reply
messages to nat44_ei_show_running_config,

At the time of enabling the plugin, if user_sessions is 0, update the
field which is used by nat44_ei_show_running_config to contain the
default per-user limit which gets used by the EI nodes.

Change-Id: I6b060d85bcd42d91db879b95a8b07c6844bcd2a5
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agodpdk: disable DPDK iAVF interrupt support 22/32422/2
Mohammed Hawari [Mon, 24 May 2021 13:14:02 +0000 (15:14 +0200)]
dpdk: disable DPDK iAVF interrupt support

Change-Id: I665d9d11fcdd9af33e38972a74e51ce3085f3e55
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix

2 years agointerface: show if tx queue is shared 18/32418/2
Damjan Marion [Sat, 22 May 2021 10:13:48 +0000 (12:13 +0200)]
interface: show if tx queue is shared

Type: improvement
Change-Id: Idb48f835730db6c652c4b0e6ef310c7f36599a72
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agotests: skip hoststack iperf3 cut thru test on aarch64 26/32426/2
Dave Wallace [Mon, 24 May 2021 15:30:49 +0000 (11:30 -0400)]
tests: skip hoststack iperf3 cut thru test on aarch64

- Temporary fix for intermittent unrelated test failure
  on AARCH64 CI verify/merge jobs.  To be reverted
  when the root cause is fixed.

Type: test

Change-Id: Ie28e5a7b9fa9a20469ac7e91766f4c226e44d244
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2 years agotls: prealloc chunks for dtls dgram enq 17/32417/4
Florin Coras [Sat, 22 May 2021 01:26:30 +0000 (18:26 -0700)]
tls: prealloc chunks for dtls dgram enq

Type: fix

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

2 years agosession: improve main thread connects rpc 16/32416/3
Florin Coras [Fri, 21 May 2021 22:48:18 +0000 (15:48 -0700)]
session: improve main thread connects rpc

Avoid grabbing the worker barrier if there's no work to be done.

Type: improvement

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

2 years agostats: catch stat segment overrun in retry loop 13/32313/6
Ole Troan [Fri, 14 May 2021 12:00:50 +0000 (14:00 +0200)]
stats: catch stat segment overrun in retry loop

Raise IOError so that the blocking code retries not only on
optimistic locking failures but also on data segment illegal reads.

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

2 years agoaf_xdp: use desc offset on rx 84/32384/6
Benoît Ganne [Wed, 19 May 2021 14:41:03 +0000 (16:41 +0200)]
af_xdp: use desc offset on rx

Instead of pre-programming the data offset on rx, use offset passed in
the descriptor. This is more robust and future-proof.

Type: fix

Change-Id: I2bd910d92b8b03d17be5be85a24108be711dc7b9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agoaf_xdp: refill rx rings when interface goes up 78/32278/7
Benoît Ganne [Tue, 11 May 2021 11:19:56 +0000 (13:19 +0200)]
af_xdp: refill rx rings when interface goes up

If interrupt mode is configured through startup.conf exec script, the
input function will not be polled and the rx ring will never be filled.
Always refill the ring when interface goes up so it is ready to receive
packets.

Type: fix

Change-Id: I4cf22c8ae00638679f2e8650303a6fe916c1319b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agobfd: use vnet crypto 93/32193/13
Klement Sekera [Tue, 20 Apr 2021 17:21:36 +0000 (19:21 +0200)]
bfd: use vnet crypto

Type: improvement

Change-Id: I873a99c1258a97ed5ed195b9756e8302f865e7f0
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2 years agoaf_xdp: workaround kernel race between poll() and sendmsg() 77/32277/6
Benoît Ganne [Thu, 29 Apr 2021 16:24:24 +0000 (18:24 +0200)]
af_xdp: workaround kernel race between poll() and sendmsg()

Prior to Linux 5.6 there is a race condition between poll() and
sendmsg() in the kernel. This patch protects the syscalls with a lock
to prevent it, unless the NO_SYSCALL_LOCK flag is set at create time.
See
https://lore.kernel.org/bpf/BYAPR11MB365382C5DB1E5FCC53242609C1549@BYAPR11MB3653.namprd11.prod.outlook.com/

Type: fix

Change-Id: Ie7d4f5cb41f697b11a09b6046e54d190430d76df
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agonat: add maximum configured sessions to stat segment 61/32361/3
Ole Troan [Tue, 18 May 2021 13:05:23 +0000 (15:05 +0200)]
nat: add maximum configured sessions to stat segment

Add /nat44-ed/max-cfg-sessions gauge.
Reflects the configured value for configured sessions (per thread).

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I618c8aa0daab0981399cfe9273d191fa1990ef60
Signed-off-by: Ole Troan <ot@cisco.com>
2 years agodoxygen: fix doxygen tags 06/32306/4
Dave Wallace [Thu, 13 May 2021 22:00:23 +0000 (18:00 -0400)]
doxygen: fix doxygen tags

- Missing tags mess up doxygen TOC heirarchy

Type: docs

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

2 years agotests: add role to VCLAppWorker 04/32404/2
Dave Wallace [Thu, 20 May 2021 18:01:51 +0000 (14:01 -0400)]
tests: add role to VCLAppWorker

- Improve readability of log output with respect
  to worker role

Type: test

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

2 years agolinux-cp: Add delegate to adjacencies 55/32255/2
Matthew Smith [Thu, 6 May 2021 18:16:42 +0000 (13:16 -0500)]
linux-cp: Add delegate to adjacencies

Type: improvement

When an adjacency is created, add the linux-cp delegate on the new
adjacency so we can later deal with modifications & deletions in our
cache of adjacency data.

Add a pool of hash keys and associate the pool index for a particular
key with the adj_delegate_t. If the rewrite on an adjacency is changed,
this will allow us to delete the old hash table entry and it will not
become orphaned.

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I072b960c02cf377d66f7d18b8c0e9e05824a0ca3

2 years agoquic: add extended vcl test 57/32357/5
Florin Coras [Tue, 18 May 2021 07:35:50 +0000 (00:35 -0700)]
quic: add extended vcl test

Only works with release binaries.

Type: test

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

2 years agoquic: fix timer update 08/32408/2
Florin Coras [Thu, 20 May 2021 21:01:11 +0000 (14:01 -0700)]
quic: fix timer update

Use ctx timer wheel not current thread since connects are done on main
but the ctx is allocated on first worker.

Type: fix

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

2 years agoquic: init crypto context on streams 07/32407/2
Florin Coras [Thu, 20 May 2021 20:56:29 +0000 (13:56 -0700)]
quic: init crypto context on streams

Type: fix

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

2 years agoquic: make sure aead crypto context matches quicly 06/32406/3
Florin Coras [Thu, 20 May 2021 20:48:33 +0000 (13:48 -0700)]
quic: make sure aead crypto context matches quicly

Type: fix

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

2 years agoipsec: Default the IPSec interface MTU to 9000 01/32401/2
Neale Ranns [Thu, 20 May 2021 16:03:59 +0000 (16:03 +0000)]
ipsec: Default the IPSec interface MTU to 9000

Type: fix

The same value is used for other tunnel types.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I6593001918993d65f127cc9f716c95e932239842

2 years agomemif: fix gcc-10 build error on arm platform 66/32366/4
Tianyu Li [Tue, 18 May 2021 14:19:26 +0000 (22:19 +0800)]
memif: fix gcc-10 build error on arm platform

In function ‘memcpy’,
 inlined from ‘memif_device_input_zc_inline’
 at src/plugins/memif/node.c:850:7,
 string_fortified.h:34:10: error:
   writing 16 bytes into a region of size 0 [-Werror=stringop-overflow=]
 34 |   return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
    |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/plugins/memif/node.c: In function ‘memif_input_node_fn_neoversen1’:
src/plugins/memif/memif.h:175:16: note:
  at offset 0 to object ‘desc’ with size 0 declared here
  175 |   memif_desc_t desc[0];
      |                ^~~~

Using C99 way empty brackets for flexible array members

Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I7a6ad89f95e1b5e3f9aac36546a2559dbda9bd6c

2 years agomemif: fix input node buffer prefetch 67/32367/2
Tianyu Li [Wed, 19 May 2021 06:45:58 +0000 (14:45 +0800)]
memif: fix input node buffer prefetch

Prefetch should be the next group of buffers instead of current buffers

Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: If13967e27f74c10856ae48892420d7ade6f0c92c

2 years agotests: don't buffer worker stdin/stdout 63/32363/4
Dave Wallace [Tue, 18 May 2021 21:12:16 +0000 (17:12 -0400)]
tests: don't buffer worker stdin/stdout

- Required to get VCLAppWorker stdin / stdout data
  into log.txt when a test fails.

Type: test

Change-Id: I4db467986940f701750aec6d842a4d9aee22b4e6
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2 years agobash: add set-quicly-ws function 88/32388/3
Dave Wallace [Thu, 20 May 2021 01:47:00 +0000 (21:47 -0400)]
bash: add set-quicly-ws function

- Set up vpp workspace to build/test/debug with
  quicly source code downloaded from github.

Type: improvement

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

2 years agobuild: add .clang-tidy 98/32398/1
Damjan Marion [Thu, 20 May 2021 13:23:50 +0000 (15:23 +0200)]
build: add .clang-tidy

Initial version

Type: make
Change-Id: Id26827e7812f794da3f17b91f78d2550e4800083
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agogre: Walk IPv6 adjacencies during restack 42/32342/2
Matthew Smith [Fri, 14 May 2021 22:00:15 +0000 (17:00 -0500)]
gre: Walk IPv6 adjacencies during restack

Type: fix

If a GRE tunnel is created and the peer is not resolved yet and an
IPv6 route is added which points to the tunnel, packets matching the
route will be dropped. When the tunnel peer is resolved, adjacencies
on the tunnel interface should be restacked and packets matching the
route can be encapsulated and sent..

There is a loop that is intended to do this for both IPv4 and IPv6.
The call to walk adjacencies is invoked in a "return" statement though.
So the loop is exited and the function returns before IPv6 adjacencies
are walked.

Remove the return so the loop finishes.

Change-Id: Ia4f695681713020209ea490ae4142857cea49c41
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agohsa: test server incremental stats 64/32364/7
Florin Coras [Wed, 19 May 2021 02:33:00 +0000 (19:33 -0700)]
hsa: test server incremental stats

Type: improvement

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

2 years agotls svm: prealloc tcp fifo chunks before ssl write 89/32389/3
Florin Coras [Thu, 20 May 2021 02:28:40 +0000 (19:28 -0700)]
tls svm: prealloc tcp fifo chunks before ssl write

Type: improvement

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

2 years agosession: fix transport half-open cleanup call 90/32390/3
Florin Coras [Thu, 20 May 2021 02:33:19 +0000 (19:33 -0700)]
session: fix transport half-open cleanup call

Type: fix

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

2 years agotls: fix signed unsigned comparison 87/32387/1
Florin Coras [Thu, 20 May 2021 01:33:04 +0000 (18:33 -0700)]
tls: fix signed unsigned comparison

On error, the signed value is cast to unsigned.

Type: fix

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

2 years agobash: fix vpp-make-test -g option 85/32385/2
Dave Wallace [Wed, 19 May 2021 21:01:55 +0000 (17:01 -0400)]
bash: fix vpp-make-test -g option

- Don't pollute shell with local variables
  which also fixes a bug with -g option
- If WS_ROOT is not set and vpp-make-test is
  invoked in the vpp root dir, then export
  WS_ROOT env var

Type: fix

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

2 years agoquic: fix memory leak & crash on connection delete 86/32386/1
Dave Wallace [Wed, 19 May 2021 20:37:58 +0000 (16:37 -0400)]
quic: fix memory leak & crash on connection delete

- quicly conn struct leaked on connection delete
- Occasionally connection delete is called twice
  before connection is closed which caused a crash.

Type: fix

Change-Id: Ifaaaeda55f71d58c97fa4d6652bda60a3efd4b69
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2 years agosession: cleanup event llist usage 54/32354/5
Florin Coras [Tue, 18 May 2021 02:09:33 +0000 (19:09 -0700)]
session: cleanup event llist usage

Type: refactor

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

2 years agomemif: remove dead code 39/32339/6
Damjan Marion [Fri, 14 May 2021 16:05:13 +0000 (18:05 +0200)]
memif: remove dead code

Type: fix
Change-Id: I6fce8c1f91fc5080271c1832bf40a9fb6bbcb7e3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agoavf: improve elogs 98/29398/5
Damjan Marion [Mon, 17 Jun 2019 18:25:54 +0000 (20:25 +0200)]
avf: improve elogs

Change-Id: I6221e1a5924223865b3caf53590d3668965b564c
Type: fix
Fixes: b4ff07a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agovppinfra: add more llist macros 53/32353/9
Florin Coras [Tue, 18 May 2021 01:16:44 +0000 (18:16 -0700)]
vppinfra: add more llist macros

Type: improvement

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

2 years agosession: fix session queue node access on disable 75/32375/2
Florin Coras [Wed, 19 May 2021 14:58:49 +0000 (07:58 -0700)]
session: fix session queue node access on disable

Type: fix

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

2 years agobuild: fix crypto_native compile flags check 73/32373/2
Damjan Marion [Wed, 19 May 2021 13:13:40 +0000 (15:13 +0200)]
build: fix crypto_native compile flags check

Type: fix
Change-Id: I338036a3cac74fd5f9772bcf7685ee6970653ddb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agointerface: shared tx queue support 72/32372/2
Damjan Marion [Wed, 19 May 2021 09:18:20 +0000 (11:18 +0200)]
interface: shared tx queue support

Type: improvement
Change-Id: I6bb7b6d6bd63b044952ab981be5b0673144c9834
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agoavf: tx queue sharing fixes and improvements 71/32371/2
Damjan Marion [Wed, 19 May 2021 09:00:00 +0000 (11:00 +0200)]
avf: tx queue sharing fixes and improvements

Type: fix
Change-Id: I16b6720174efd98c19751e0fff36df58968484d2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agoavf: print stats in separate log class 69/32369/1
Damjan Marion [Wed, 19 May 2021 08:35:10 +0000 (10:35 +0200)]
avf: print stats in separate log class

Type: improvement
Change-Id: Ia1a4b1b1acad989cbd47a805b900160ba0071071
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agotls: fix dtls with no workers 56/32356/4
Florin Coras [Tue, 18 May 2021 07:28:59 +0000 (00:28 -0700)]
tls: fix dtls with no workers

Type: fix

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

2 years agosession: poll main thread if pending connects 47/32347/12
Florin Coras [Sun, 16 May 2021 17:58:53 +0000 (10:58 -0700)]
session: poll main thread if pending connects

Type: improvement

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

2 years agonat: refactor multiple vrf tests 49/32349/3
Klement Sekera [Mon, 17 May 2021 11:17:56 +0000 (13:17 +0200)]
nat: refactor multiple vrf tests

Replace VRF test testing multiple scenarios into more simpler tests to
improve readability and ease of debugging.

Type: refactor
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ibaad5328c73b401f52c5fe513dc0ed68ff3e3374