vpp.git
4 years agoikev2: add support for custom ipsec-over-udp port 73/25573/4
Filip Tehlar [Mon, 2 Mar 2020 15:17:37 +0000 (15:17 +0000)]
ikev2: add support for custom ipsec-over-udp port

Type: feature

Change-Id: Ifee2b3dca85ea915067b9285e3636802bf0c19a8
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agovirtio: fix the out of order descriptors in tx 94/25494/10
Mohsin Kazmi [Thu, 27 Feb 2020 10:49:21 +0000 (11:49 +0100)]
virtio: fix the out of order descriptors in tx

Type: fix

Some vhost-backends give used descriptors back in
out-of-order. This patch fixes the native virtio to
handle out-of-order descriptors.

Change-Id: I57323303349f6a385e412ee22772ab979ae8edbf
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agovlib: fix error when creating avf interface on SMP system 96/25896/2
Jieqiang Wang [Mon, 13 Jan 2020 09:15:13 +0000 (17:15 +0800)]
vlib: fix error when creating avf interface on SMP system

On SMP architecture, '/sys/bus/pci/devices/<devices id>/numa_node' file
will return -1 as a valid value if it does not have any NUMA node information.
Using -1 as a valid node id to access data structures will cause memory issue.
Fix the error by setting the value of numa_node to 0 if '/sys/bus/pci/devices/
<devices id>/numa_node' returns -1 and it is a SMP system.

Type: fix

Change-Id: Ib60e79c3656fe5b17e08fd9011122683e8b08b6f
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
4 years agotcp: avoid spurious retransmit attempt 57/26057/1
Florin Coras [Fri, 20 Mar 2020 20:25:37 +0000 (20:25 +0000)]
tcp: avoid spurious retransmit attempt

Type: improvement

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

4 years agordma: ring db only once per vector on tx 47/26047/2
Benoît Ganne [Thu, 19 Mar 2020 10:41:07 +0000 (11:41 +0100)]
rdma: ring db only once per vector on tx

Type: improvement

Change-Id: I09b017d60bc38ff8a4a7a73aff42b27611bd8955
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosession: export session_alloc_for_connection 39/26039/2
Andreas Schultz [Fri, 20 Mar 2020 08:39:59 +0000 (09:39 +0100)]
session: export session_alloc_for_connection

Type: refactor

Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
Change-Id: I45c6f434065ab0ad8ada3184b5a875a32a1b3faa

4 years agoip: provide extern declaration for ip punt nodes 22/26022/2
Jawahar Santosh Gundapaneni [Thu, 19 Mar 2020 20:42:28 +0000 (16:42 -0400)]
ip: provide extern declaration for ip punt nodes

Type: fix

Signed-off-by: Jawahar Santosh Gundapaneni <jgundapa@cisco.com>
Change-Id: Ife0f7749a72cc834a3d811f8cf6b5a0840157014

4 years agoip: ip API types coverity fix 46/26046/1
Jakub Grajciar [Fri, 20 Mar 2020 12:48:50 +0000 (13:48 +0100)]
ip: ip API types coverity fix

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I6b2c7550ae5918c27b02b1173533d2042c6c15c7

4 years agotcp: move accept init to separate reusable function 61/25961/4
Florin Coras [Tue, 17 Mar 2020 17:09:12 +0000 (17:09 +0000)]
tcp: move accept init to separate reusable function

Type: refactor

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

4 years agotcp: force deschedule if no send space available 81/25881/12
Florin Coras [Fri, 13 Mar 2020 20:39:43 +0000 (20:39 +0000)]
tcp: force deschedule if no send space available

Type: improvement

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

4 years agosession tcp udp: consolidate transport snd apis 72/25872/8
Florin Coras [Fri, 13 Mar 2020 17:54:42 +0000 (17:54 +0000)]
session tcp udp: consolidate transport snd apis

Type: improvement

Use only one api to retrieve transport send parameters. Additionally,
allow transports to request postponing and descheduling of events.

With this, tcp now requests descheduling of sessions when the
connections are stuck probing for zero snd_wnd

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

4 years agotcp: count dupacks with no sacks 33/25833/6
Florin Coras [Thu, 12 Mar 2020 15:50:57 +0000 (15:50 +0000)]
tcp: count dupacks with no sacks

Type: fix

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

4 years agoip: change ip API enums address_family and ip_proto size to u8 05/26005/6
Jakub Grajciar [Thu, 19 Mar 2020 07:03:55 +0000 (08:03 +0100)]
ip: change ip API enums address_family and ip_proto size to u8

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I73d27520726543d6375caad76a841339f68c3533
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agofib: format functions for path 54/25954/3
Neale Ranns [Tue, 17 Mar 2020 14:24:09 +0000 (14:24 +0000)]
fib: format functions for path

Type: improvement

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

4 years agobuild: add snap packaging (experimental) 93/25993/2
Dave Barach [Wed, 18 Mar 2020 14:14:40 +0000 (10:14 -0400)]
build: add snap packaging (experimental)

Type: feature

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

4 years agoethernet: Copy only 6 bytes of mac address into a u64 51/25751/6
Jon Loeliger [Mon, 9 Mar 2020 18:13:35 +0000 (13:13 -0500)]
ethernet: Copy only 6 bytes of mac address into a u64

Rather than leaving 2 bytes of junk in the upper word
of a mac address represented as a u64, zero them out.
That way later compairsons stand a chance of matching
when deleting a bridge's arp termination entries.

The volatile qualifier shouldn't be needed here, but
without it the compiler removes the clib_memcpy() at -O2.
Bad compiler.  No biscuit.

Type: fix
commit: faf22cb303b65e2a6bf8dad959d7f5ee6d031c4f

Change-Id: Iebcf35fdd421293dccbcaefadef767f7e139438e
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agopg: update packet generator test scripts 85/25985/2
ShivaShankarK [Wed, 18 Mar 2020 10:04:11 +0000 (15:34 +0530)]
pg: update packet generator test scripts

update packet generator test scripts to reflect latest code changes

Type: fix

Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com>
Change-Id: I048a5e8b9b0506dcb0b664e5549d13f51b2e2ea6

4 years agofib: Always install all routers mcast addresses 55/25955/5
Neale Ranns [Tue, 17 Mar 2020 14:25:10 +0000 (14:25 +0000)]
fib: Always install all routers mcast addresses

Type: improvement

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

4 years agosvm: fifo test 31/25931/3
Ryujiro Shibuya [Tue, 17 Mar 2020 02:04:28 +0000 (02:04 +0000)]
svm: fifo test

Type: feature

Adding a very simple test case just to confirm that setting fifo size
same as the current in-use size would result no space to enqueue, which
is zero-window in the TCP.

Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com>
Change-Id: I6d60449386eaa270f801d2046cc7e546f843bf34

4 years agoip: ip_address_t uses ip46_address_t 91/25391/8
Neale Ranns [Mon, 24 Feb 2020 13:32:30 +0000 (13:32 +0000)]
ip: ip_address_t uses ip46_address_t

Type: improvement

type re-use.

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

4 years agoipsec: initialize algs to none in 'create ipsec tunnel' cli 30/25930/2
Damjan Marion [Mon, 16 Mar 2020 16:53:38 +0000 (17:53 +0100)]
ipsec: initialize algs to none in 'create ipsec tunnel' cli

Type: fix
Change-Id: I901c9384710eee5847b3fbce060c78e115ba4169
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoapi: API cleanup 67/25567/2
Jakub Grajciar [Mon, 2 Mar 2020 12:23:21 +0000 (13:23 +0100)]
api: API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ic108311e09c56cc2b3db63d5850598b6896a7897
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agoarp: Restore CLI for setting ARP proxy entries 25/25925/2
Neale Ranns [Mon, 16 Mar 2020 18:16:34 +0000 (18:16 +0000)]
arp: Restore CLI for setting ARP proxy entries

Type: fix

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

4 years agordma: optimize tx wqe_init 15/25915/7
Damjan Marion [Mon, 16 Mar 2020 13:44:10 +0000 (14:44 +0100)]
rdma: optimize tx wqe_init

Type: improvement
Change-Id: I7f28a3f03ab1ea8461c52743c61dc23a57965237
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agordma: introduce direct verb for Cx4/5 tx 40/24240/14
Benoît Ganne [Mon, 16 Dec 2019 09:42:25 +0000 (10:42 +0100)]
rdma: introduce direct verb for Cx4/5 tx

Direct Verb allows for direct access to NIC HW rx/tx rings. This patch
introduce TX direct verb support for Mellanox ConnectX-4/5 adapters.
'dv' mode must be explicitely selected at interface creation to benefit
from this.

Type: feature

Change-Id: If830ba9f33db73299acdbddc68b5c09eaf6add98
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agordma: add Mellanox mlx5 Direct Verbs receive support 72/25572/13
Damjan Marion [Thu, 12 Mar 2020 10:56:00 +0000 (11:56 +0100)]
rdma: add Mellanox mlx5 Direct Verbs receive support

Type: feature
Change-Id: I3f287ab536a482c366ad7df47e1c04e640992ebc
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agosvm: chunk alloc stats 82/25882/3
Ryujiro Shibuya [Fri, 13 Mar 2020 12:45:06 +0000 (12:45 +0000)]
svm: chunk alloc stats

Type: feature

Showing number of allocated chunks by size, in addition to the freelist chunks by size.

Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com>
Change-Id: I50f7b695a217f132d5f0b307182a34752d3fe1dc

4 years agotls: refactor Picotls ctx_read function to reduce one time memory copy 95/25895/8
Simon Zhang [Fri, 13 Mar 2020 09:03:53 +0000 (17:03 +0800)]
tls: refactor Picotls ctx_read function to reduce one time memory copy

Type: refactor

Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: I7a952fd95e49468a0d1c763b3e289648c93539da

4 years agovxlan: vxlan/vxlan.api API cleanup 69/25569/5
Jakub Grajciar [Mon, 2 Mar 2020 12:55:31 +0000 (13:55 +0100)]
vxlan: vxlan/vxlan.api API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I7f6f37ec6eed780322e2488d6eb0f5681945ba09
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agomap: fix translation of icmp4 error messages 45/25845/3
Alexander Chernavin [Thu, 12 Mar 2020 12:42:12 +0000 (08:42 -0400)]
map: fix translation of icmp4 error messages

ICMP error messages are translated to ICMPv6 error messages with
erroneous destination address in the outer IPv6 header because sender
port is used instead of receiver port.

Both source and destination addresses in the inner IPv6 header are
translated erroneously because source and destination addresses of the
inner IPv4 header are getting zeroed during the translation.

With this commit, use receiver port for translation and save addresses
of the inner IPv4 header before translation of the inner header.

Type: fix

Change-Id: I1e93d54c1bbc154b401adcbb0fb661299655d01a
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
4 years agonat: test cleanup 26/25826/5
Klement Sekera [Thu, 12 Mar 2020 13:39:24 +0000 (14:39 +0100)]
nat: test cleanup

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

4 years agotls: small refactor for Picotls engine ctx_write function 14/25814/3
Simon Zhang [Wed, 11 Mar 2020 19:37:55 +0000 (03:37 +0800)]
tls: small refactor for Picotls engine ctx_write function

Type: refactor

Change-Id: I761fc764e6771dc95eb64614479c27fd44016690
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
4 years agonat: in2out/out2in handoff node index bugfix 56/25856/2
Elias Rudberg [Fri, 13 Mar 2020 13:26:50 +0000 (14:26 +0100)]
nat: in2out/out2in handoff node index bugfix

This fixes a bug in the initialization of handoff_out2in_index and
handoff_in2out_index where the node index for out2in was set to the
in2out node, and vice versa.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I983ddd3b3cec06f4cb3fb95b2a9cda4ab6d1270f

4 years agovlib: add verbose sh node option 38/25838/5
Florin Coras [Thu, 12 Mar 2020 23:26:11 +0000 (23:26 +0000)]
vlib: add verbose sh node option

Type: improvement

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

4 years agosr: SRv6 coverity 35/25835/2
Pablo Camarillo [Thu, 12 Mar 2020 16:26:45 +0000 (16:26 +0000)]
sr: SRv6 coverity

Fixes 4 coverity issues

Type: fix

Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
Change-Id: Ib3ef1df3e5d601d7751445ae1c9603bb6ce0f80c

4 years agodevices: netlink create the object if missing 49/25849/1
Dave Barach [Fri, 13 Mar 2020 12:32:28 +0000 (08:32 -0400)]
devices: netlink create the object if missing

Type: fix
Fixes: b49bc1a

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I3dd81a2484c8b4925fd07556576c29d1cde337e1

4 years agonat: timed out session scavenging upgrade 62/25462/14
Filip Varga [Tue, 25 Feb 2020 13:31:33 +0000 (14:31 +0100)]
nat: timed out session scavenging upgrade

Patch changes the behavior of session scavenging and fixes multiple
nat issues. Allows proper session clearing and removes issue with lingering sessions
in session db. Patch also updates and fixes CLI/API calls for better readability
of session state metrics. Fixes security issue that would allow attacker to
reuse timed out session in both directions (in2out/out2in).

Type: improvement

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

4 years agodpdk-ipsec: Fix for multipoint IPSEC 01/25801/3
Neale Ranns [Wed, 11 Mar 2020 14:57:54 +0000 (10:57 -0400)]
dpdk-ipsec: Fix for multipoint IPSEC

Type: fix

fetch the sa_index from the correct location

Change-Id: I351035ee0226c47585995ff9122320fd5c73ec53
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agotests: avoid unnecessary rebuilds 21/25821/3
Klement Sekera [Thu, 12 Mar 2020 11:30:21 +0000 (12:30 +0100)]
tests: avoid unnecessary rebuilds

Improve dependency tracking on vapi_test directory so that vapi_c_test
rebuild doesn't force vapi_cpp_test rebuild and vice versa.

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

4 years agordma: cleanup rdma-core build 20/25820/4
Benoît Ganne [Thu, 12 Mar 2020 10:55:09 +0000 (11:55 +0100)]
rdma: cleanup rdma-core build

Type: improvement

Change-Id: I298bbb81c753d60288ac63bebf2bdfea323af68b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosvm: cleanup chunk and fifo allocation 55/25755/8
Florin Coras [Tue, 10 Mar 2020 04:46:32 +0000 (04:46 +0000)]
svm: cleanup chunk and fifo allocation

Type: refactor

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

4 years agovppinfra: refactor clib_timebase_t 00/25800/3
Dave Barach [Wed, 11 Mar 2020 14:31:36 +0000 (10:31 -0400)]
vppinfra: refactor clib_timebase_t

Add a clib_time_t * argument to clib_timebase_init(...), to encourage
client code to share the vlib_main_t's clib_time_t object.

Display the current day / date in GMT via the "show time" debug CLI.

Fix the test framework so it processes the new "show time" output format.

Type: refactor

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

4 years agovppinfra: remove time jump workaround 37/25837/1
Dave Barach [Thu, 12 Mar 2020 18:43:04 +0000 (14:43 -0400)]
vppinfra: remove time jump workaround

A partial revert of gerrit 25729. The last_run_time == 0.0 check is
necessary and remains in place.

Type: fix
Fixes: 3d9f134

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

4 years agodpdk: tx/rx burst function description refactor 03/25703/2
Chenmin Sun [Fri, 6 Mar 2020 15:09:32 +0000 (23:09 +0800)]
dpdk: tx/rx burst function description refactor

DPDK provides two new APIs to retrieve information about the Tx/Rx
packet burst mode:
rte_eth_tx_burst_mode_get
rte_eth_rx_burst_mode_get

This patch leverages these two APIs to describe the tx/rx mode.

Currently, Intel X710/E810 and Mellanox Mlx5 support the new APIs.
For NICs that don't support the new APIs, still use the original way
to print their tx/rx function name

Type: refactor

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

4 years agovrrp: unit tests do not run by default 34/25834/1
Matthew Smith [Thu, 12 Mar 2020 15:29:31 +0000 (10:29 -0500)]
vrrp: unit tests do not run by default

Type: fix
Fixes: 39e9428b90

VRRP unit tests fail sometimes for changes which have not touched any
code related to VRRP. There were some timing-related changes recently
which probably made the VRRP tests, which rely on a VR changing state
within a certain amount of time, start failing.

Set the VRRP tests to only run with the extended tests rather than
running by default. This is temporary so VRRP will not cause spurious
build failures while a proper solution is figured out.

Change-Id: I5826ea39b944dfb9b0ca4bdfa2ebbe86d269f935
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
4 years agovlib: fix unix cli SIGSEGV for empty line input 18/25818/3
Fan Zhang [Thu, 12 Mar 2020 09:26:38 +0000 (09:26 +0000)]
vlib: fix unix cli SIGSEGV for empty line input

When logging is enabled, an empty line input (press Enter only)
will cause SIGSEGV. This patch fixes the problem by checking
the command length first.

Type: fix

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Ib4cbd1c7bfd6a694e289d28958875c7d2356a93e

4 years agopolicer: API cleanup 66/25566/8
Jakub Grajciar [Mon, 2 Mar 2020 12:16:53 +0000 (13:16 +0100)]
policer: API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ia14f33992353b419b70b55beed63ab8ed6a2e837
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agoikev2: fix udp encap 15/25815/2
Filip Tehlar [Sat, 7 Mar 2020 20:55:59 +0000 (20:55 +0000)]
ikev2: fix udp encap

Type: fix

Change-Id: I2c89accddf2307fa975b71e974d4091499f104ed
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agosr: SRv6 uN behavior 71/25771/8
Pablo Camarillo [Wed, 18 Dec 2019 17:13:13 +0000 (17:13 +0000)]
sr: SRv6 uN behavior

Implements the uN behavior

Type: feature

Change-Id: Icb5efc560e09052cd183b468772cf7f799f81194
Signed-off-by: pcamaril <pcamaril@cisco.com>
4 years agonat: dslite plugin separation 06/25806/2
Filip Varga [Wed, 11 Mar 2020 11:49:46 +0000 (12:49 +0100)]
nat: dslite plugin separation

Type: refactor

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

4 years agodocs: Add feature build to publish script 97/25797/2
John DeNisco [Wed, 11 Mar 2020 13:47:21 +0000 (09:47 -0400)]
docs: Add feature build to publish script

Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: I6a938f426b9a8e1242fa5c6f9716a3f9db4d4976

4 years agodocs: describe clib_time monotonic timebase support 91/25791/3
Dave Barach [Wed, 11 Mar 2020 13:00:47 +0000 (09:00 -0400)]
docs: describe clib_time monotonic timebase support

Type: docs

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

4 years agovppinfra: minimize tw verbosity on timebase jump 80/25780/3
Florin Coras [Tue, 10 Mar 2020 23:19:53 +0000 (23:19 +0000)]
vppinfra: minimize tw verbosity on timebase jump

Type: improvement

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

4 years agovlib: unix cli - log cli commands one per line 58/25558/3
Paul Vinciguerra [Sun, 1 Mar 2020 05:47:17 +0000 (00:47 -0500)]
vlib: unix cli - log cli commands one per line

This changeset modifies the log output so that cli commands now look like:
  cat /tmp/vpp-cli.log
  2020/03/10 19:24:42:186: ***** Start: PID 29570 *****
  /* [0] is stdin */
  2020/03/10 19:24:53:518[0]: show clock
  2020/03/10 19:24:56:078[0]: show clock
  2020/03/10 19:25:01:983[0]: show pci
  /* [1] is vppctl socket */
  2020/03/10 19:26:14:372[1]: show ver
  2020/03/10 19:26:23:395[1]: show hardware-interfaces
  2020/03/10 19:26:28:507[1]: q

instead of:
  cat /tmp/vpp-cli.log
2020/03/01 00:40:12:834: ***** Start: PID 29974 *****
2020/03/01 00:40:24:969[0]: show interface2020/03/01 00:40:31:945[0]: show clo2020/03/01 00:40:41:288[0]: show classify 2020/03/01 00:40:43:753[0]: show classify ?2020/03/01 00:40:53:392[0]: show classify tables2020/03/01 00:40:57:352[0]: quit

Type: improvement

Change-Id: I38d85535977296d174db7121ae340850b6476a39
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: add running_gcov_tests to framework.py 79/25779/2
Dave Barach [Tue, 10 Mar 2020 20:59:39 +0000 (16:59 -0400)]
tests: add running_gcov_tests to framework.py

Mark a few code coverage tests appropriately:

@unittest.skipUnless(running_gcov_tests, "part of code coverage tests")
def test_my_coverage_unittest(self):
    <etc>

Almost exactly like "make EXTENDED_TESTS=yes test".

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

4 years agotcp: protect against forced cleanups 76/25776/3
Florin Coras [Tue, 10 Mar 2020 19:34:28 +0000 (19:34 +0000)]
tcp: protect against forced cleanups

Type: fix

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

4 years agovppinfra: improve timebase resilience 63/25763/2
Dave Barach [Tue, 10 Mar 2020 13:01:02 +0000 (09:01 -0400)]
vppinfra: improve timebase resilience

Deal with arbitrary kernel reference time changes: for example,
yanking the kernel reference clock back to a time before vpp started.

Best practice involves aligning the kernel reference clock with
reality prior to starting apps which use 10us granularity timers.

Compute change in the reference and cpu clocks. Recompute the vpp
start time reference and and total cpu clock count, using the current
clock tick rate.

Next, compute a new clock rate sample. If the sample seems sane,
factor it into the exponentially smoothed clock rate and recalculate
total cpu ticks based on the new clock rate.

Type: fix

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

4 years agodocs: doxygen fix siphon under python3 60/25560/2
Paul Vinciguerra [Sun, 1 Mar 2020 06:42:28 +0000 (01:42 -0500)]
docs: doxygen fix siphon under python3

siphon used cgi.escape which was deprecated in python 3.2 and
removed in python 3.8.

Update the code to use html.escape instead.

Type: fix

Change-Id: I3192e3f69a4a95fe23cb24e1c29194ba5310932b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agobuild: add libssl-dev for ubuntu 16.04 and 18.04 59/25259/4
Jieqiang Wang [Wed, 12 Feb 2020 12:13:34 +0000 (12:13 +0000)]
build: add libssl-dev for ubuntu 16.04 and 18.04

The recent changes to Makefile lead to the lack of libssl-dev
dependency for ubuntu 16.04 and 18.04. Add libssl-dev to DEB_DEPENDS
variable for corresponding ubuntu version.

Type: fix

Change-Id: I42e0e4761d5ec377de71b11cccf747c7f55ca337
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
4 years agolb: fix coverity warning 60/25760/2
Dave Barach [Tue, 10 Mar 2020 11:13:20 +0000 (07:13 -0400)]
lb: fix coverity warning

Type: fix
Ticket: VPP-1837
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I357eb72d478d8175ab9c7cf502d312ab3112213e

4 years agompls: add user defined name tag to mpls tunnels 97/25697/3
IJsbrand Wijnands [Thu, 5 Mar 2020 18:56:26 +0000 (10:56 -0800)]
mpls: add user defined name tag to mpls tunnels

This allows a user creating MPLS tunnel through the bin_api to add a name tag. This is useful
to correlate the Tunnel with its use-case. Also useful if the user needs to recover the MPLS
Tunnel after a restart (mark-sweep).

Type: feature

Change-Id:

Signed-off-by: IJsbrand Wijnands <ice@cisco.com>
Change-Id: Idc080a63810a176ab090a2678a73d2cf9f7b523f

4 years agoipsec: API cleanup 29/25529/3
Jakub Grajciar [Fri, 28 Feb 2020 07:26:32 +0000 (08:26 +0100)]
ipsec: API cleanup

Use consistent API types.

Change vl_api_ipsec_proto_t to iana values:
ESP 50,
AH 51,

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I2becefb343246e0233f290fefbfdd172d8237325
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agosvm: track fifo segment virtual memory consumption 01/25701/7
Florin Coras [Fri, 6 Mar 2020 02:23:58 +0000 (02:23 +0000)]
svm: track fifo segment virtual memory consumption

Type: improvement

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

4 years agovppinfra: fix corner cases in tw_timer_expire 29/25729/3
Dave Barach [Sun, 8 Mar 2020 12:27:19 +0000 (08:27 -0400)]
vppinfra: fix corner cases in tw_timer_expire

Type: fix

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

4 years agoip-neighbor: add description to the age parameter 49/25749/2
Vratko Polak [Mon, 9 Mar 2020 17:30:02 +0000 (18:30 +0100)]
ip-neighbor: add description to the age parameter

Type: docs

Change-Id: I311301328fb5e47ba1c3caaff18431738bbd1233
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agoudp: fix UDP socket byte order in lookup 32/25732/4
Andreas Schultz [Mon, 9 Mar 2020 10:36:15 +0000 (11:36 +0100)]
udp: fix UDP socket byte order in lookup

The port registry uses host byte order for while the session API
uses network order. In a single place the conversion was missing.

Type: fix
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
Change-Id: Ic8cfe2cb4e0711b3e0614060ff6b4f2fe4ed4391

4 years agol2: API cleanup 70/22970/11
Jakub Grajciar [Thu, 24 Oct 2019 11:52:42 +0000 (13:52 +0200)]
l2: API cleanup

Use consistent API types.

Type: fix

Change-Id: I7ac7cd00606101864fa3422e7b9ea2f1143665dd
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agodocs: Add list of nodes for 'trace add' 65/23165/4
Paul Vinciguerra [Fri, 1 Nov 2019 02:34:30 +0000 (22:34 -0400)]
docs:  Add list of nodes for 'trace add'

(provided by Andrew/Damjan: git grep -h -B20 VLIB_NODE_FLAG_TRACE_SUPPORTED | grep VLIB_REGISTER_NODE | awk -F [\(\),] '{print $2 }' | sed 's/_/-/g' | sort |sed 's/-node//' )

Type: docs

Change-Id: I4a58fe5ed6bb3598551482ea1c5f16e502cbd6a7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agovppinfra: fix 32-bit overflow in os_cpu_clock_frequency 61/25661/3
Damjan Marion [Wed, 4 Mar 2020 19:06:06 +0000 (20:06 +0100)]
vppinfra: fix 32-bit overflow in os_cpu_clock_frequency

Type: fix
Change-Id: I23250fcbc70086584b5448baec9af9a1528992f5
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agovcl: fix coverity warning 28/25728/1
Florin Coras [Sat, 7 Mar 2020 17:45:47 +0000 (17:45 +0000)]
vcl: fix coverity warning

Type: fix

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

4 years agotls: refactor ctx_write function to avoid allocate new memory every time 67/25667/3
Simon Zhang [Thu, 5 Mar 2020 11:49:37 +0000 (19:49 +0800)]
tls: refactor ctx_write function to avoid allocate new memory every time

Type: refactor

Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: Ic34729d58a4218046afacaffc765649beb056a24

4 years agomisc: Fix vpp-selinux-policy dependency on CentOS 8 25/25725/2
Renato Botelho do Couto [Fri, 6 Mar 2020 19:42:22 +0000 (13:42 -0600)]
misc: Fix vpp-selinux-policy dependency on CentOS 8

policycoreutils-python is now called python3-policycoreutils on
CentOS 8.

Type: fix

Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Change-Id: I46264c66a2a719d546e0926f3bd716e986461963

4 years agoip-neighbor: populate neighbor age via API 43/25543/8
Vladimir Ratnikov [Fri, 28 Feb 2020 13:48:21 +0000 (08:48 -0500)]
ip-neighbor: populate neighbor age via API

When we get ip-neigbor information using VPP API,
it's age can be very useful information.
This patch adds age entry to API and neighbor type

Type: feature

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

4 years agosession: fix session reschedule condition 02/25702/2
Florin Coras [Fri, 6 Mar 2020 02:25:09 +0000 (02:25 +0000)]
session: fix session reschedule condition

Type: fix

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

4 years agovcl: refactor vls to minimize lock usage 63/25663/13
Florin Coras [Wed, 4 Mar 2020 22:20:12 +0000 (22:20 +0000)]
vcl: refactor vls to minimize lock usage

Type: refactor

- per vls worker private pool of sessions
- deep copy of vls worker data structures on fork
- maintain a global, i.e., heap allocated, and lock protected  pool of
  elements that track sessions that are shared between workers (due to
  forking).

Credit for uncovering the issue goes to Intel team contributing code to
VSAP (Ping, Yuwei, Shujun, Guoao).

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

4 years agodocs: document the unformat '%_' option 92/25692/2
Paul Vinciguerra [Thu, 5 Mar 2020 16:47:41 +0000 (11:47 -0500)]
docs: document the unformat '%_' option

Type: docs

Change-Id: Id864fcff768a78aa313b193f2eaabe545d95bec4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agocrypto: align per thread data to cache line 09/25709/2
Filip Tehlar [Thu, 5 Mar 2020 16:41:27 +0000 (16:41 +0000)]
crypto: align per thread data to cache line

Type: improvement

Change-Id: I6bad46403c07b211dfda7229aed1b5e19342865f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agoikev2: align per thread data to cache line 04/25704/3
Filip Tehlar [Thu, 5 Mar 2020 16:17:59 +0000 (16:17 +0000)]
ikev2: align per thread data to cache line

Type: improvement

Change-Id: Id8fc6750e856862157917587234a6b7b03531b13
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agobuild: building applications outside of vpp is missing header files 98/25698/2
IJsbrand Wijnands [Thu, 5 Mar 2020 19:29:23 +0000 (11:29 -0800)]
build: building applications outside of vpp is missing header files

Building applications using the VPP bin_api outside of the VPP tree is broken, missing these includes.

Type: fix

Change-Id:

Signed-off-by: IJsbrand Wijnands <ice@cisco.com>
Change-Id: Ibcb2fea0f5740a73b9577392aa54ac3c93c8d2b5

4 years agofib: path flag FIB_API_PATH_TYPE_INTERFACE_RX not copied to client 90/25690/2
IJsbrand Wijnands [Thu, 5 Mar 2020 14:25:32 +0000 (06:25 -0800)]
fib: path flag FIB_API_PATH_TYPE_INTERFACE_RX not copied to client

This path flag FIB_API_PATH_TYPE_INTERFACE_RX is not copied to the client bin_api.

Type: fix

Change-Id:

Signed-off-by: IJsbrand Wijnands <ice@cisco.com>
Change-Id: I612044d2f564c852f83fceb63ce750a6330e1365

4 years agosession: reduce segment reserved bytes 00/25700/4
Florin Coras [Thu, 5 Mar 2020 20:36:40 +0000 (20:36 +0000)]
session: reduce segment reserved bytes

Type: refactor

Rb-trees are no longer maintained in the segment so we don't need to
reserve memory. Keeping the option as a means to avoid underlying infra
(dlmalloc) and alignment overhead.

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

4 years agosession: fix segment search on fifo alloc 99/25699/3
Florin Coras [Thu, 5 Mar 2020 19:44:02 +0000 (19:44 +0000)]
session: fix segment search on fifo alloc

Type: fix

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

4 years agosession: API cleanup 97/24697/9
Jakub Grajciar [Fri, 31 Jan 2020 08:35:29 +0000 (09:35 +0100)]
session: API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ib752a3425c076eb53bc5255a48039cbb74b1fcce
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agoapi: ipsec: add missing IS_INBOUND flag. 65/25665/4
Christian Hopps [Wed, 4 Mar 2020 18:21:41 +0000 (13:21 -0500)]
api: ipsec: add missing IS_INBOUND flag.

External IKE daemons need to be able to flag an SA as inbound (just as
the included ike plugin does). This commit adds this flag to the API.
This change is backward bug-compatible as not setting the flag (old
clients) continues to mean all SAs are created as outbound and fib nodes
are created for them. The addition of this flag inhibits this forwarding
node creation as well as properly flagging the SA as inbound.

Ticket: VPP-1845
Type: fix
Signed-off-by: Christian Hopps <chopps@labn.net>
Change-Id: I195e32c430e51155fac2d9f33671e06ef42a3f7f

4 years agotap: add support for persistance 13/24713/4
Mohsin Kazmi [Fri, 14 Feb 2020 17:51:04 +0000 (17:51 +0000)]
tap: add support for persistance

Type: feature

Change-Id: I775f53531972447ebae0d69b9e2dfeee84d115e5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agovppapigen: crc is a negative value for some messages when using python 2.7 62/25662/1
Mark Nelson [Wed, 4 Mar 2020 20:32:09 +0000 (15:32 -0500)]
vppapigen: crc is a negative value for some messages when using python 2.7

Type: fix

Signed-off-by: Mark Nelson <manelso2@cisco.com>
Change-Id: I4f121e49d3c05c21eed3fed2469bd88fc84e2271

4 years agomap: fix map port calculation for ICMP 55/25455/4
Vladimir Isaev [Wed, 26 Feb 2020 11:41:46 +0000 (14:41 +0300)]
map: fix map port calculation for ICMP

type should be used to get ICMP type instead of code.

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

4 years agoflow: add vlan tagged types for IPv4/IPv6 5-tuple flows 31/25431/3
Chenmin Sun [Wed, 26 Feb 2020 11:22:35 +0000 (19:22 +0800)]
flow: add vlan tagged types for IPv4/IPv6 5-tuple flows

Add new flow type IP4_N_TUPLE_TAGGED and IP6_N_TUPLE_TAGGED
for vlan tag sensitive flows
The original IP4_N_TUPLE and IP6_N_TUPLE will not match VLAN anymore

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

4 years agolldp: coverity fix, uninitialized array 62/25562/2
Jakub Grajciar [Mon, 2 Mar 2020 09:49:46 +0000 (10:49 +0100)]
lldp: coverity fix, uninitialized array

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ia6095a91904693225e53a85f35dfebf0757b3971

4 years agovxlan: vxlan-gpe/vxlan-gpe.cpi API cleanup 02/24702/6
Jakub Grajciar [Fri, 31 Jan 2020 09:45:30 +0000 (10:45 +0100)]
vxlan: vxlan-gpe/vxlan-gpe.cpi API cleanup

Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ic428e35141724b47a944211b4d95c3e41796c81e
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agoikev2: make integ algo optional 14/25614/3
Filip Tehlar [Mon, 2 Mar 2020 21:49:48 +0000 (21:49 +0000)]
ikev2: make integ algo optional

Type: improvement

This patch makes configuring integration algorithm optional. This is
useful when using AEAD cipher (in fact when using such
cipher, integ algo is ignored anyway).

Change-Id: I5891db5c0433afb85ae2d9084d45b89ec1133178
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agogeneve gtpu vxlan vxlan-gpe: VRF-aware bypass node 63/25563/2
Nick Zavaritsky [Thu, 27 Feb 2020 15:54:58 +0000 (15:54 +0000)]
geneve gtpu vxlan vxlan-gpe: VRF-aware bypass node

Bypass node MUST NOT intercept a packet if destination IP doesn’t match
a local address.  However IP address interpretation depends on the VRF,
hence bypass node must take that into account.

This patch also factors-out common VTEP management and checking code.

Type: improvement
Signed-off-by: Nick Zavaritsky <nick.zavaritsky@emnify.com>
Change-Id: I5665d94882bbf45d15f8da140c7ada528ec7fa94

4 years agoip: fix coverity warning 74/25574/5
Dave Barach [Mon, 2 Mar 2020 15:42:17 +0000 (10:42 -0500)]
ip: fix coverity warning

Type: fix
Ticket: VPP-1837

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

4 years agordma: improve rx loop 81/25581/2
Damjan Marion [Mon, 2 Mar 2020 18:02:15 +0000 (19:02 +0100)]
rdma: improve rx loop

Type: improvement
Change-Id: If81847bc0c92d167ce03e1e94a2f8e18f8154af2
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agordma: improve refill 79/25579/2
Damjan Marion [Mon, 2 Mar 2020 16:55:54 +0000 (17:55 +0100)]
rdma: improve refill

Type: improvement
Change-Id: Ib9921718ec88e6dc56a38e40a140f16f86ed2e44
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agordma: use per-thread buffer template 78/25578/3
Damjan Marion [Mon, 2 Mar 2020 16:36:30 +0000 (17:36 +0100)]
rdma: use per-thread buffer template

Type: improvement
Change-Id: Ie6f2c79e0a769f70eab079c75a500b9308dd51e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agovirtio: fix the coverity warning 00/25400/2
Mohsin Kazmi [Mon, 24 Feb 2020 14:54:24 +0000 (15:54 +0100)]
virtio: fix the coverity warning

Type: fix

Change-Id: Ia75edb74eb7c746dd4c66bdbff75efb949575ce4
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agoikev2: make UDP encap flag configurable 46/25546/3
Filip Tehlar [Tue, 25 Feb 2020 09:27:10 +0000 (09:27 +0000)]
ikev2: make UDP encap flag configurable

Type: improvement

Change-Id: I081dec2dc0c2bd0845dd4638b7b2f12806594112
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agotls: reduce bio buffering 77/25477/3
Florin Coras [Wed, 26 Feb 2020 16:12:06 +0000 (16:12 +0000)]
tls: reduce bio buffering

Type: improvement

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

4 years agosvm: add explicit dependency on lock for fifo types 57/25557/3
Florin Coras [Sat, 29 Feb 2020 01:09:30 +0000 (01:09 +0000)]
svm: add explicit dependency on lock for fifo types

Type: improvement

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