vpp.git
3 years agobonding: add bond_create2 API to include gso option 12/28112/6
Steven Luong [Thu, 30 Jul 2020 14:31:40 +0000 (07:31 -0700)]
bonding: add bond_create2 API to include gso option

gso option is available for the debug CLI version of bond create.
This patch is to create a new API to have the corresponding option in
the binary API. The old binary API bond_create is marked deprecated.

Type: improvement

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

3 years agosession: fix non-blocking msg enqueue to vpp mq 36/28636/3
Florin Coras [Tue, 1 Sep 2020 22:25:50 +0000 (15:25 -0700)]
session: fix non-blocking msg enqueue to vpp mq

Type: fix

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

3 years agoipsec: add ipsec set async mode api 16/28416/3
Yulong Pei [Fri, 14 Aug 2020 10:21:08 +0000 (18:21 +0800)]
ipsec: add ipsec set async mode api

Type: improvement

Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: I841f4407ed8c1a448e5102059fc79ae1f7d461de

3 years agomisc: fix pcap [rx|tx|drop] filename stem overflow 63/27963/2
Benoît Ganne [Fri, 17 Jul 2020 09:49:56 +0000 (11:49 +0200)]
misc: fix pcap [rx|tx|drop] filename stem overflow

Type: fix

Change-Id: I2b6b7b6f28cbf7accf883743e390b0031dd13bbb
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agotap: add the static assert for api flags 39/28639/1
Mohsin Kazmi [Wed, 2 Sep 2020 11:59:37 +0000 (11:59 +0000)]
tap: add the static assert for api flags

Type: improvement

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ia1276d00dded36ee28b4b2e93b4cc7c1df6b1eef

3 years agovirtio: add virtio 1.1 api flags 35/28635/3
Mohsin Kazmi [Tue, 1 Sep 2020 17:17:44 +0000 (17:17 +0000)]
virtio: add virtio 1.1 api flags

Type: feature

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I95d7fc1cc8db5199570c66535f45e867a7cae676

3 years agobuild: Fix 'make build VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON' error... 90/28590/3
jiangxiaoming [Thu, 27 Aug 2020 08:00:16 +0000 (16:00 +0800)]
build: Fix 'make build VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON' error on Centos 7

Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: Ic47f5e8627923c951333c70004850b53ed4cab06

3 years agotap: add virtio 1.1 API flag 26/28526/6
Mohsin Kazmi [Wed, 26 Aug 2020 09:07:48 +0000 (11:07 +0200)]
tap: add virtio 1.1 API flag

Type: feature

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I3e00deb94943c545d1649865b2efdf7d51b90f4d

3 years agocrypto-openssl: add chacha20-poly1305 to crypto-openssl 15/28615/6
Artem Glazychev [Mon, 31 Aug 2020 08:42:40 +0000 (15:42 +0700)]
crypto-openssl: add chacha20-poly1305 to crypto-openssl

Type: feature

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: Iec28fb11b6edff1bee23117f56aa3a3e5729541a
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovirtio: fix the bar starting index 34/28634/1
Mohsin Kazmi [Tue, 1 Sep 2020 16:18:48 +0000 (18:18 +0200)]
virtio: fix the bar starting index

Type: fix

Change-Id: Ia28161b583ea26ab820a494332a79b64add7004d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovirtio: fix the NULL deference 33/28633/1
Mohsin Kazmi [Tue, 1 Sep 2020 15:45:56 +0000 (17:45 +0200)]
virtio: fix the NULL deference

Type: fix

Change-Id: I8d55c2bfdd3c4607044370ebabf40cbac78b4996
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovirtio: fix the error return 32/28632/2
Mohsin Kazmi [Tue, 1 Sep 2020 15:12:50 +0000 (17:12 +0200)]
virtio: fix the error return

Type: fix

Change-Id: I12b08333f3f69aaa882e8801f4f69bca2d7bd558
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agomisc: fix uninitialized use warnings with gcc-{8,9} 29/28629/3
Aloys Augustin [Tue, 1 Sep 2020 13:59:46 +0000 (15:59 +0200)]
misc: fix uninitialized use warnings with gcc-{8,9}

Change-Id: I4930c3c2a8025ec9ceb17e994137be67d88d455f
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
3 years agovppapigen: supports backwards compatible marking of enums 16/28616/5
Ole Troan [Mon, 31 Aug 2020 11:54:47 +0000 (13:54 +0200)]
vppapigen: supports backwards compatible marking of enums

enum bar_enum {
  BAR1 = 0,
  BAR2,
  BAR3 [backwards_compatible],
  BAR4 = 9 [backwards_compatible],
};

This allows adding backwards compatible (as guaranteed by the developer) enums.
The enums marked backwards compatible are not considered in the CRC calculation.

Type: improvement
Change-Id: I6fc0c21b19e1a02cff7f5d279a0f3a32d2f8b630
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agocrypto: add chacha20-poly1305 algo 14/28614/2
Artem Glazychev [Mon, 31 Aug 2020 08:37:39 +0000 (15:37 +0700)]
crypto: add chacha20-poly1305 algo

Type: feature

Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I3697cf7fab7abb7c3d2f61ef326c9116bc1eed66

3 years agoip: fix ip zero checksum verification 23/28623/5
Benoît Ganne [Mon, 31 Aug 2020 16:59:34 +0000 (18:59 +0200)]
ip: fix ip zero checksum verification

In one's complement, there are two representations of zero: the all
zero and the all one bit values, often referred to as +0 and -0. See
RFC 1624 section 3 for more details.
This used to be taken care of in ip4_header_checksum(), but it is no
longer the case. The check ip->checksum == ip4_header_checksum (ip) is
no longer correct in the -0 case.
Always use ip4_header_checksum_is_valid() instead (which behaves
correctly since 9a79a1ab931c3b5a7ae07d6f0fcfef7c4368a2c4).

Type: fix
Fixes: e5f0050c7a5d411f96af6401797529d58825e2af

Change-Id: Iacc6b60645a834287b085aecb9e3fdb4554cf0cf
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agodpdk: fix mac address length was wrong 96/28596/4
jiangxiaoming [Fri, 28 Aug 2020 01:28:09 +0000 (09:28 +0800)]
dpdk: fix mac address length was wrong

Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I87c6f423ea8fdd9fb764693055eb1509f994d6f1

3 years agofib: detect wrong adj neighbour bugs 53/28353/2
Benoît Ganne [Thu, 13 Aug 2020 09:16:56 +0000 (11:16 +0200)]
fib: detect wrong adj neighbour bugs

Type: improvement

Change-Id: Ie063ee0a0c59a9ad632200ce2b23703bc0d936e6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agompls: fix adjacencies walk in case of restack 59/27959/4
Benoît Ganne [Fri, 17 Jul 2020 09:38:58 +0000 (11:38 +0200)]
mpls: fix adjacencies walk in case of restack

Adjacencies are only defined for IPv4 and IPv6.

Type: fix
Fixes: 20aec3db441074ee5a861a40d6e02fad2f3dcb37

Change-Id: I19b2b7f6958da49f41c6eabc9f248840769acbbb
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovppinfra: Fix bihash coverity warning 27/28627/2
Nathan Skrzypczak [Tue, 1 Sep 2020 07:35:31 +0000 (09:35 +0200)]
vppinfra: Fix bihash coverity warning

Type: fix

Hitting a code not reachable when setting
BIHASH_KVP_AT_BUCKET_LEVEL = 1

Change-Id: I24d539df67ae7650a3b1969f5709a6f7366d786b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agocnat: Fix typo in ts handling 26/28626/2
Nathan Skrzypczak [Tue, 1 Sep 2020 07:27:55 +0000 (09:27 +0200)]
cnat: Fix typo in ts handling

Type: fix

Change-Id: I5287f6326726780c09e515eede0992bafb413bb2
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agoip: improve ip4_header_checksum_is_valid 24/28624/4
Damjan Marion [Mon, 31 Aug 2020 17:54:19 +0000 (19:54 +0200)]
ip: improve ip4_header_checksum_is_valid

It is cheaper to include checksum field in calculation and simply
compare result with zero.

Type: improvement

Change-Id: I6f77632c0a4d2f2c632d044d3a5d2fcf2b5bac62
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agonat: fix type in api message 96/27796/5
Klement Sekera [Mon, 6 Jul 2020 09:20:01 +0000 (09:20 +0000)]
nat: fix type in api message

Translation memory size is internally a uword, but in api it was u32,
resulting in the returned value being 0 all the time.

Fix the "incorrect" API reply to return a u32 capped to 0xffffffff if
the u64 is larger than that, introduce the message with
the correct type, deprecate the message with the incorrect type.

Also, while we are updating the message definition,
add the max translations / max users per worker thread
into the new message.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I92e38a6a2bcb70fc8d1b129bbe416bf7f9e54280
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agovlib: extend telnet protocol guard 13/28213/3
Vladimir Isaev [Tue, 11 Aug 2020 14:15:58 +0000 (17:15 +0300)]
vlib: extend telnet protocol guard

There is a number of TERMs with big length, such as
'screen.konsole-256color' (23). These TERMs can not
be processed properly by vpp because maximum telnet
byte stream supported is 24 and we need 6 more service
bytes to send TTYPE.

So I extended maximum depth guard to 32.

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

3 years agovppinfra: convert A_extend_to_B to B_from_A format of vector inlines 20/28620/3
Damjan Marion [Mon, 31 Aug 2020 15:18:26 +0000 (17:18 +0200)]
vppinfra: convert A_extend_to_B to B_from_A format of vector inlines

Make it shorter and same format when converting to biggor or smaller
types.

Type: refactor

Change-Id: I443d67e18ae65d779b4d9a0dce5406f7d9f0e4ac
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovpp_config: update node variants to skx and icl 21/28421/2
Ray Kinsella [Fri, 14 Aug 2020 14:27:10 +0000 (15:27 +0100)]
vpp_config: update node variants to skx and icl

Node variant names have changed to skx and icl.

Type: fix

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

3 years agoip: fix compiling error with gcc-10 52/28252/4
Jieqiang Wang [Fri, 7 Aug 2020 14:18:04 +0000 (14:18 +0000)]
ip: fix compiling error with gcc-10

Building VPP using gcc-10 fails because of the array bounds check
error for function ip4_header_checksum(), with option field in IPv4
header exceeding the ip4_header_t bound. Fix this error by turning
off the array bounds check option for function ip4_header_checksum().

Change-Id: I68cc241ae9e403d35ac2e320549506dc6565a0b6
Type: fix
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
3 years agoaf_xdp: AF_XDP input plugin 97/16597/21
Benoît Ganne [Fri, 12 Jun 2020 06:47:34 +0000 (08:47 +0200)]
af_xdp: AF_XDP input plugin

Type: feature

Change-Id: I85aa4ad6b68c1aa0e51938002dc691a4b11c545c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agordma: bugfix in the descriptor refill logic. In case of a partial allocation, the... 21/28621/3
Mohammed Hawari [Mon, 31 Aug 2020 15:23:45 +0000 (17:23 +0200)]
rdma: bugfix in the descriptor refill logic. In case of a partial allocation, the remainder modulo 8 must be returned to the pool so that the number of kept buffers is a multiple of 8.

Type: fix
Change-Id: Ifd97b03ea220300e7e6fe81a8ff4a25060fea6c1
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
3 years agosession: format app_ns_name with %v rather than %s 13/28613/2
jiangxiaoming [Mon, 31 Aug 2020 09:38:11 +0000 (17:38 +0800)]
session: format app_ns_name with %v rather than %s

Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: Ie29dec803aa4ee02755190b09573c23f9b5f0ada

3 years agoflow: code refactor 72/28072/6
Chenmin Sun [Mon, 27 Jul 2020 09:40:17 +0000 (17:40 +0800)]
flow: code refactor

This is the code refactor for vnet/flow infra and the dpdk_plugin flow
implementation. The main works of the refactor are:
1. Added two base flow type: VNET_FLOW_TYPE_IP4 and VNET_FLOW_TYPE_IP6
   as the base the flow type
2. All the other flows are derived from the base flow types
3. Removed some flow types that are not currently supported by
   the hardware, and VPP won't leverage them either:
   IP4_GTPU_IP4, IP4_GTPU_IP6, IP6_GTPC, IP6_GTPU,
   IP6_GTPU_IP4, IP6_GTPU_IP6
4. Re-implemented the vnet/flow cli as well as the dpdk_plugin
   implementation
5. refine cli prompt
6. refine display info in command "show flow entry"

Type: refactor

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

3 years agocnat: Destination based NAT 62/27162/27
Neale Ranns [Tue, 19 May 2020 07:17:19 +0000 (07:17 +0000)]
cnat: Destination based NAT

Type: feature

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

3 years agovirtio: fix the coverity warning 30/28530/4
Mohsin Kazmi [Thu, 20 Aug 2020 15:18:56 +0000 (17:18 +0200)]
virtio: fix the coverity warning

Type: fix

Change-Id: I6c6d66ad8aa158be8d2b9d111de7d46473b9dc02
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovppinfra: add clib_mem_destroy_mspace(void *ms) 01/28601/2
Dave Barach [Fri, 28 Aug 2020 14:39:00 +0000 (10:39 -0400)]
vppinfra: add clib_mem_destroy_mspace(void *ms)

Also clib_mem_destroy() to destroy the current mspace.

Handy when an application wants to make a memory allocation arena
disappear.

Type: improvement

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

3 years agoipsec: Deprecate old interface API 91/28591/2
Neale Ranns [Thu, 27 Aug 2020 09:09:56 +0000 (09:09 +0000)]
ipsec: Deprecate old interface API

Type: feature

Change-Id: Ib5d7b7e4735a5dec6c3ed74068206a86782588ca
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agosession: limit max number of ct sessions per dispatch 82/28582/3
Florin Coras [Wed, 26 Aug 2020 02:07:02 +0000 (19:07 -0700)]
session: limit max number of ct sessions per dispatch

Type: improvement

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

3 years agovppinfra: Multiarch support for OCTEONTX2 SoC 79/28579/2
Nitin Saxena [Tue, 25 Aug 2020 14:28:37 +0000 (19:58 +0530)]
vppinfra: Multiarch support for OCTEONTX2 SoC

Type: feature

- Added multiarch support for Marvell OCTEONTX2
- Corrected Marvell THUNDERX2 spelling

Signed-off-by: Nitin Saxena <nsaxena@marvell.com>
Change-Id: I42d3654aeda89759a2db9d695592ee3227b26c2b

3 years agodpdk: fix blacklists 18/28418/5
Vladimir Ratnikov [Fri, 14 Aug 2020 12:25:30 +0000 (08:25 -0400)]
dpdk: fix blacklists

When we have both format blacklisted devices like:
blacklist 1234:5678
blacklist 1234:56:78.0

unformat with fmt=%x:%x matches for both strings
 and the rest 78.0 substring is kept in input
 and it can't be parsed for init args

This patch checks first if device format matches PCI address and
 just then if it matches Vendor and Product

Type: fix
Change-Id: If111762c0e0a424b052e4f6dc0f67731bf89dc2a
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
3 years agotests: "force solo" testcase support 86/28586/8
Andrew Yourtchenko [Wed, 26 Aug 2020 14:33:54 +0000 (14:33 +0000)]
tests: "force solo" testcase support

Some of the tests are time-sensitive, and at present require a non-trivial
modification in order to run at high concurrency.

Without these modifications, they intermittently fail, and require
the test retries.

Rather than setting them to the extended tests and forgetting
about them, put them into a "solo" set, which gets run in a
single-threaded mode after the rest of the tests are done.

Mark a few of the tests that showed errors during TEST_JOBS=48
as forced-solo.

Also, give a better diagnostic if the testcase misses a docstring
needed to represent it in the diagnostic outputs.

Type: fix

Change-Id: I33fe62eb17edc1885bd2c3523892051d52da6546
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agovppinfra: elog multi-track g2 test pattern 78/28578/2
Dave Barach [Tue, 25 Aug 2020 13:35:42 +0000 (09:35 -0400)]
vppinfra: elog multi-track g2 test pattern

Type: test

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

3 years agodpdk: bump to DPDK 20.08 80/28580/3
Damjan Marion [Tue, 25 Aug 2020 20:29:19 +0000 (22:29 +0200)]
dpdk: bump to DPDK 20.08

Type: improvement

Change-Id: Id864c80ac0c9e6f3514a99e516fed82a998effff
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovcl: fix duplicated key of session_index_to_vlsh_table in multiple 35/28535/4
hanlin [Fri, 21 Aug 2020 03:05:36 +0000 (11:05 +0800)]
vcl: fix duplicated key of session_index_to_vlsh_table in multiple
threads vcl workers scenario

Type: fix

In multiple threads vcl workers scenario, multiple vcl workes can create
sessions with same index. Because only one vls worker created, key of
session_index_to_vlsh_table is duplicated.

Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: I7e1f5bc471adc5378194452aef85e611f5d0df1d

3 years agordma: bump rdma-core version to v31.0 07/28507/2
Benoît Ganne [Wed, 19 Aug 2020 08:23:16 +0000 (10:23 +0200)]
rdma: bump rdma-core version to v31.0

Type: improvement

Change-Id: If02deabea1fe47bbe82c53182e24a97cff68f8ec
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovcl: cleanup non-blocking connect 70/28570/5
Florin Coras [Tue, 25 Aug 2020 04:23:51 +0000 (21:23 -0700)]
vcl: cleanup non-blocking connect

Make sure session is in non-closed state after non-blocking connect to
ensure cleanup is performed, if needed.

Type: fix

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

3 years agoflow: add vnet/flow formal API 68/28068/5
Chenmin Sun [Mon, 27 Jul 2020 09:54:40 +0000 (17:54 +0800)]
flow: add vnet/flow formal API

This patch adds the API for vnet/flow infra.
Currently this API supports the below flow types:
    VNET_FLOW_TYPE_IP4_N_TUPLE
    VNET_FLOW_TYPE_IP6_N_TUPLE
    VNET_FLOW_TYPE_IP4_N_TUPLE_TAGGED
    VNET_FLOW_TYPE_IP6_N_TUPLE_TAGGED
    VNET_FLOW_TYPE_IP4_L2TPV3OIP
    VNET_FLOW_TYPE_IP4_IPSEC_ESP
    VNET_FLOW_TYPE_IP4_IPSEC_AH
    VNET_FLOW_TYPE_IP4_GTPU

All the above flows are tested with Intel E810/X710 NIC

Type: feature

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

3 years agoip-neighbor: skip probe for disabled interfaces 80/28180/2
Matthew Smith [Tue, 4 Aug 2020 20:26:16 +0000 (15:26 -0500)]
ip-neighbor: skip probe for disabled interfaces

Type: fix

In ip6_neighbor_probe(), if the interface is not enabled for ip6,
return NULL and skip trying to build a packet.

If the interface is not enabled, its mcast adjacency will be set to
~0 and a seg fault will ensue.

Change-Id: I825c9f40a0d5b2a77f788ac8dbd618138706383d
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 years agoapi: register endian handlers for reply messages 66/28566/2
Ole Troan [Mon, 24 Aug 2020 10:22:01 +0000 (12:22 +0200)]
api: register endian handlers for reply messages

Endian handlers was not registered for reply messages.
Causing endian-neutral handlers to crash.

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

3 years agobonding: enhance binary api handling 06/28206/4
Steven Luong [Mon, 10 Aug 2020 16:34:07 +0000 (09:34 -0700)]
bonding: enhance binary api handling

- check input sw_if_index to make sure it is sane. Coverity actually
complains about it.
- return rv. Some of the APIs handlers were not passing back the rv.

Type: improvement

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

3 years agovmxnet3: enhance debug CLI error handling 81/28181/3
Steven Luong [Wed, 5 Aug 2020 19:30:42 +0000 (12:30 -0700)]
vmxnet3: enhance debug CLI error handling

- Display the interface name upon successfully creating the interface.
- Don't go silent when error occurs. Be explicit about it.

Type: improvement

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

3 years agohsa: set connected mode for udp server 63/28563/2
jiangxiaoming [Sat, 22 Aug 2020 11:25:49 +0000 (19:25 +0800)]
hsa: set connected mode for udp server

Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I32a28a944fcee11657c4dd0ba34ad6d73de89263

3 years agovppinfra: add format_one_elog_event 24/28524/2
Dave Barach [Thu, 20 Aug 2020 12:30:39 +0000 (08:30 -0400)]
vppinfra: add format_one_elog_event

To avoid ridiculous pointer gymnastics in golang

Type: improvement

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

3 years agovppapigen: Fix missing api dir 57/28557/1
Nathan Skrzypczak [Fri, 21 Aug 2020 09:16:44 +0000 (11:16 +0200)]
vppapigen: Fix missing api dir

Type: fix

pci_types.api lives in vlib/pci which wasn't included
in the generate_json.py script

Change-Id: I15649786282584b7aefb9ace83c5154eb697b50b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agotcp: track reorder with sacks 10/28110/18
Florin Coras [Thu, 30 Jul 2020 06:03:39 +0000 (23:03 -0700)]
tcp: track reorder with sacks

Type: feature

Change-Id: I041bff2e8d589c171661de286fa1503531dff891
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 years agotap: fix flags in custom-dump 25/28525/2
Mohsin Kazmi [Thu, 20 Aug 2020 12:54:07 +0000 (14:54 +0200)]
tap: fix flags in custom-dump

Type: fix

Change-Id: I4cd0b1855eab05344897686dc17b7df44de6c786
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agovirtio: add modern device support 66/27566/10
Mohsin Kazmi [Thu, 20 Aug 2020 08:25:12 +0000 (10:25 +0200)]
virtio: add modern device support

Type: feature

Change-Id: I205f7c146a213d603d9d1e46fcf5195a876608dc
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agoipsec: fix esp padding 23/28523/1
Milan Lenco [Thu, 20 Aug 2020 11:23:09 +0000 (13:23 +0200)]
ipsec: fix esp padding

Type: fix

Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Change-Id: Ic8db52b41d7e5af3425099f008984e50afb3da74

3 years agovirtio: refactor pci device code 49/27649/6
Mohsin Kazmi [Thu, 16 Jul 2020 12:55:42 +0000 (12:55 +0000)]
virtio: refactor pci device code

Type: refactor

Change-Id: I7342178f9ab9adb99b91a4f984bc22bef2ce8021
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agoip: vnet_ip_mroute_cmd payload_proto fix 16/27416/2
Elias Rudberg [Wed, 3 Jun 2020 22:15:45 +0000 (00:15 +0200)]
ip: vnet_ip_mroute_cmd payload_proto fix

Make sure payload_proto variable is set properly in vnet_ip_mroute_cmd()
function. This avoids using an uninitialized payload_proto value which
could lead to assertion failure when using e.g. the ip mroute add
command.

Type: fix

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

3 years agonat: fixed cli nat summary and nat limit 15/28515/2
Filip Varga [Wed, 19 Aug 2020 12:57:10 +0000 (14:57 +0200)]
nat: fixed cli nat summary and nat limit

Type: fix

Change-Id: I78017b02015116f93b579c7381119f618351c98d
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agosession: ct init error handling 24/28424/5
Florin Coras [Sat, 15 Aug 2020 00:51:13 +0000 (17:51 -0700)]
session: ct init error handling

Type: fix

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

3 years agovppinfra: minor tweaks for cgo interoperation 09/28509/1
Dave Barach [Wed, 19 Aug 2020 10:59:53 +0000 (06:59 -0400)]
vppinfra: minor tweaks for cgo interoperation

'type' is a keyword in golang, so s/type/event_type/ in elog.h and
elsewhere.

Add vec_len_not_inline(...), elog_write_file_not_inline(...) and
elog_read_file_not_inline(...) since the inline forms aren't usable.

More such tweaks may follow.

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

3 years agonat: session cli command fix 40/28440/2
Filip Varga [Tue, 18 Aug 2020 09:46:01 +0000 (11:46 +0200)]
nat: session cli command fix

Type: fix

Change-Id: I57ae649d1b26d5bea2df89c209f257372e565b49
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agoapi: retry sending fd on EAGAIN 29/28429/4
Florin Coras [Tue, 18 Aug 2020 03:46:34 +0000 (20:46 -0700)]
api: retry sending fd on EAGAIN

Type: improvement

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

3 years agobuild: add explicit commit to rc1, rc2 builds, and add ".0" to post-non-dot-release... 82/27782/4
Andrew Yourtchenko [Thu, 2 Jul 2020 12:39:00 +0000 (12:39 +0000)]
build: add explicit commit to rc1, rc2 builds, and add ".0" to post-non-dot-release per-patch builds

This addresses problem with incorrect sorting of artifacts in the per-patch packagecloud repositories
for throttle branches, by slightly changing the version string for the non-released (per-build) artifacts:

1) the rc1 and rc2 artifacts now will have the count of
   commits since tag (0) and the explicit commit hash

2) the builds after version XX.YY but before XX.YY.1
are named as if the version was "XX.YY.0"

Type: fix
Change-Id: Ib69a59ee98aa296c5cb24b183bba807b6cb3c05c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agovppinfra: fix RC in bihash instantiation 28/28428/2
Nathan Skrzypczak [Mon, 17 Aug 2020 12:14:56 +0000 (14:14 +0200)]
vppinfra: fix RC in bihash instantiation

There can be a race condition in the case
a thread tries to do a bihash_search while
another instantiates the bihash.

Type: fix

Change-Id: Ic61b590763beb409e112957c43a5a66cd10afb28
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
3 years agonat: det: replace speculative buffer enqueue model 67/28167/3
Klement Sekera [Tue, 4 Aug 2020 09:38:30 +0000 (09:38 +0000)]
nat: det: replace speculative buffer enqueue model

Replace speculative buffer enqueue coding model with
vlib_get_buffers(...)/vlib_buffer_enqueue_to_next(...).

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

3 years agostats: Move misplaced comment block 22/28422/3
Vratko Polak [Fri, 14 Aug 2020 16:00:33 +0000 (18:00 +0200)]
stats: Move misplaced comment block

Type: fix
Fixes: fdc678081ca5f0971b8bcbf312c1e83017365c33

Change-Id: I64d15b050cfd3d88923bf996cb68b13504dbf6af
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
3 years agovppapigen: generate define for module_semver 40/25540/8
Ole Troan [Fri, 28 Feb 2020 12:45:42 +0000 (13:45 +0100)]
vppapigen: generate define for module_semver

Generate a semver define for API modules in the VPP side C generator.

E.g in map.api_types.h
\#define VL_API_MAP_API_VERSION_MAJOR 4
\#define VL_API_MAP_API_VERSION_MINOR 2
\#define VL_API_MAP_API_VERSION_PATCH 1

Type: improvement
Change-Id: I2ab86154e85e26fb075c4e91a01ff3692640654b
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agotap: add gro support 10/28210/5
Mohsin Kazmi [Thu, 13 Aug 2020 16:57:26 +0000 (18:57 +0200)]
tap: add gro support

Type: feature

Change-Id: I5868dd267aa26aa97aec5fd70e70c5956ac52277
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agonat: sessions get expired when fib table removed 78/28178/7
Filip Varga [Tue, 4 Aug 2020 16:06:06 +0000 (18:06 +0200)]
nat: sessions get expired when fib table removed

fib table removal would leave lingering sessions in vpp
this patch is aimed at solving this issue by grouping
sessions by source and destionation fib. if one of the
fibs gets removed this grouping is tagged as expired
and session won't be passed to non existing fib table

Ticket: VPPSUPP-93
Type: improvement

Change-Id: I45b1205a8b58d91f174e6feb862554ec2f6cffad
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agovcl: rx dequeue notifications with epoll 40/28340/7
Florin Coras [Thu, 13 Aug 2020 03:46:29 +0000 (20:46 -0700)]
vcl: rx dequeue notifications with epoll

Add deq request on ct fifo if present and clear event when session is
removed from epoll group.

Type: fix

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

3 years agovcl: minimize vpp to vcl rx events 39/28339/5
Florin Coras [Thu, 13 Aug 2020 01:58:25 +0000 (18:58 -0700)]
vcl: minimize vpp to vcl rx events

Type: improvement

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

3 years agogso: packet coalesce library 09/28209/4
Mohsin Kazmi [Tue, 11 Aug 2020 13:00:44 +0000 (15:00 +0200)]
gso: packet coalesce library

Type: feature

Change-Id: Ia19d3611e596d9ec47509889b34e8fe793a0ccc3
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agoip: add VNET_IP_TABLE_ADD_DEL_FUNCTION 75/28075/5
Steven Luong [Mon, 27 Jul 2020 17:06:58 +0000 (10:06 -0700)]
ip: add VNET_IP_TABLE_ADD_DEL_FUNCTION

vrf table may be dynamically added or deleted. When the table is deleted,
clients who use the corresponding vrf table may need a callback to
do the clean up. The mechanism added here is cloned from
VNET_SW_INTERFACE_ADD_DEL_FUNCTION.

Type: improvement

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

3 years agovcl: clear ct rx event on right fifo 42/28342/2
Florin Coras [Thu, 13 Aug 2020 07:17:51 +0000 (00:17 -0700)]
vcl: clear ct rx event on right fifo

Type: fix

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

3 years agodocs: correct fib tunnel diagram reference 68/28168/2
Christian Hopps [Tue, 4 Aug 2020 10:16:12 +0000 (06:16 -0400)]
docs: correct fib tunnel diagram reference

The included image was pulling in figure 2, change to the correct
figure 11.

Type: docs
Signed-off-by: Christian Hopps <chopps@labn.net>
Change-Id: I3679916364753fc682d1d1713fce952de398e626

3 years agonat: move deterministic nat to det44 sub feature 06/27806/12
Filip Varga [Tue, 21 Jul 2020 08:27:39 +0000 (10:27 +0200)]
nat: move deterministic nat to det44 sub feature

Type: refactor

Change-Id: I0bb203102a0e13dd7448e2125925ab356bbd7937
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agonat: remove non-error error counters 57/28057/4
Klement Sekera [Thu, 16 Jul 2020 07:54:10 +0000 (07:54 +0000)]
nat: remove non-error error counters

Some statistics counters were implemented as error counters. Move them
to stat segment, where they belong.

Type: improvement
Change-Id: I5600bec1b4e0496282297374ec1e79d909cdaf8a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
3 years agoacl: use the global heap when allocating the lookup context 51/28251/2
Andrew Yourtchenko [Wed, 12 Aug 2020 08:24:44 +0000 (08:24 +0000)]
acl: use the global heap when allocating the lookup context

The "ACL as a service" lookup infra is shared, so a global heap must
be used.

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

3 years agovppapigen: remove unreachable code 12/28212/2
Ole Troan [Tue, 11 Aug 2020 14:18:09 +0000 (16:18 +0200)]
vppapigen: remove unreachable code

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

3 years agostats: remove offsets on vpp side 17/28017/3
Ole Troan [Tue, 21 Jul 2020 06:46:08 +0000 (08:46 +0200)]
stats: remove offsets on vpp side

Represent pointers directly in shared memory and require clients to adjust for
shared memory segment being mapped at different base address.
Deprecated: stat_segment_pointer() / stat_segment_offset()
Added: stat_segment_adjust()

Bumped the stat segment version to 2.

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

3 years agovcl: mt detection and cleanup 49/28249/5
Florin Coras [Wed, 12 Aug 2020 05:05:28 +0000 (22:05 -0700)]
vcl: mt detection and cleanup

Type: improvement

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

3 years agovcl: support multi-threads with session migration 64/27864/9
hanlin [Mon, 13 Jul 2020 03:09:15 +0000 (11:09 +0800)]
vcl: support multi-threads with session migration

Currently, mutlti-threads only support one dispatch thread and multiple
worker threads, eventually only dispatch thread is a vcl worker and can
interact with epoll.
This patch will register all threads as vcl worker, and then each
thread can interact with epoll now. Moreover, session migration also
supported, such as socket created in thread A and used (bind, connect
and etc.) in thread B.

Type: feature

Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: Iab0b43a33466968c1423d7d20faf1460c8589d91

3 years agovcl: support inter worker rpc 55/27955/5
Florin Coras [Fri, 17 Jul 2020 03:46:17 +0000 (20:46 -0700)]
vcl: support inter worker rpc

Type: feature

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

3 years agovppapigen: add support for empty options 04/28204/4
Ole Troan [Mon, 10 Aug 2020 15:06:44 +0000 (17:06 +0200)]
vppapigen: add support for empty options

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I59323447bee7bb4f0563251a5df80cbefb9bd89e
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agopapi: allow unknown address family 92/27392/4
Ole Troan [Tue, 2 Jun 2020 12:38:53 +0000 (14:38 +0200)]
papi: allow unknown address family

In unions all representations of the union are decoded.
Which means trying to decode something that isn't an address
might have invalid address family types.

Type: fix
Ticket: VPP-1884
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Id3381ef8cc885952c1eb488ebc70e276eaceb366

3 years agostats: add timeout for in_progress access to stat segment 99/28199/7
Ole Troan [Mon, 10 Aug 2020 09:59:20 +0000 (11:59 +0200)]
stats: add timeout for in_progress access to stat segment

add new api stat_segment_set_timeout_nsec to limit time waiting for vpp
in_progress state.

Change-Id: Ic78a97bc5013d67d7e4bbcc4a6f0ef918f9f9b33
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agostats: name and error index client memory leak 02/28202/2
Ole Troan [Mon, 10 Aug 2020 14:25:21 +0000 (16:25 +0200)]
stats: name and error index client memory leak

Type: fix
Change-Id: I6c9999b93d4f4ad4b8540a21e793c9a90e7c8ecf
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agovcl: fix getting wrong non-blocking flags issue in VPPCOM_ATTR_GET_FLAGS action 97/28197/2
Simon Zhang [Thu, 6 Aug 2020 21:20:47 +0000 (05:20 +0800)]
vcl: fix getting wrong non-blocking flags issue in VPPCOM_ATTR_GET_FLAGS action

Type: fix

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

3 years agovrrp: change init of vrrp key in VR lookup 92/28192/2
Matthew Smith [Wed, 5 Aug 2020 22:04:06 +0000 (17:04 -0500)]
vrrp: change init of vrrp key in VR lookup

Type: fix

A struct that is used as a hash key was being initialized in its
declaration. On CentOS 8 this caused some hash lookups to fail.
This seems to be caused by uninitialized padding.

Use clib_memset() to initialize the key with 0's to avoid the issue.

Change-Id: I00555c201a1ab34133971313ba14f20f4e867a30
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 years agomemif: wrong interface counter is incremented 90/28190/1
Steven Luong [Thu, 6 Aug 2020 19:22:53 +0000 (12:22 -0700)]
memif: wrong interface counter is incremented

vlib_increment_combined_counter takes sw_if_index, not hw_if_index.

Type: fix

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

3 years agobash: fix pip install issue with jjb-sandbox-env function 86/28086/2
Dave Wallace [Tue, 28 Jul 2020 14:59:02 +0000 (14:59 +0000)]
bash: fix pip install issue with jjb-sandbox-env function

- In a new system (e.g. ubuntu 18.04 docker image), the pip3
  installation of jenkins-job-builder fails unless pip3 wheel
  is completed on a previous pip3 install command.

Type: fix

Change-Id: I4354c851161b9c470d44951dc8b722ffc87f56f7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
3 years agovppinfra: harmonize function names 88/28188/3
Dave Barach [Thu, 6 Aug 2020 15:38:40 +0000 (11:38 -0400)]
vppinfra: harmonize function names

Type: fix

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

3 years agomisc: harmonize names 89/28189/1
Dave Barach [Thu, 6 Aug 2020 16:10:09 +0000 (12:10 -0400)]
misc: harmonize names

Type: fix

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

3 years agointerface: add pcap trace data preallocation 82/28182/2
Dave Barach [Wed, 5 Aug 2020 20:12:35 +0000 (16:12 -0400)]
interface: add pcap trace data preallocation

Type: improvement

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

3 years agovcl: fix epoll timeout 73/28173/1
Florin Coras [Wed, 5 Aug 2020 05:45:45 +0000 (22:45 -0700)]
vcl: fix epoll timeout

Type: fix

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

3 years agotcp: improve timestamp rtt accuracy 37/28137/9
Florin Coras [Fri, 31 Jul 2020 19:32:40 +0000 (12:32 -0700)]
tcp: improve timestamp rtt accuracy

- switch to using vlib_time as reference for timestamps
- use us precision ticks for tcp but keep using ms precision for
timestamps. As a result, srtt, rttvar and rto are now measured in us
instead of ms. MRTT samples from timestamps are converted from ms to
us (not accurate under ms) while high precision samples are used with us
precision, i.e., they're no longer converted to ms precision samples.

Type: improvement

Change-Id: Ibda559575d9b4fdc85b0985264f7c865ff367e34
Signed-off-by: Florin Coras <fcoras@cisco.com>
3 years agounittest: add clib_count_equal_u8/16/32/64 tests 74/27974/2
Benoît Ganne [Mon, 20 Jul 2020 16:07:49 +0000 (18:07 +0200)]
unittest: add clib_count_equal_u8/16/32/64 tests

Type: test

Change-Id: I490c1b1a2fa49badda038e6be014c77b9bee6c56
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovppinfra: fix clib_count_equal_u8/16/32/64 overflow 62/27962/3
Benoît Ganne [Fri, 17 Jul 2020 09:46:45 +0000 (11:46 +0200)]
vppinfra: fix clib_count_equal_u8/16/32/64 overflow

Type: fix

Change-Id: Id5ca868cd7a2abc9320206f0336aa3348f5906e3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agonsim: limit tx burst size and refactor input node 38/28138/1
Florin Coras [Fri, 31 Jul 2020 20:56:40 +0000 (13:56 -0700)]
nsim: limit tx burst size and refactor input node

Type: improvement

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