vpp.git
2 years agopapi: remove shared memory transport 03/32203/5
Ole Troan [Tue, 4 May 2021 10:45:57 +0000 (12:45 +0200)]
papi: remove shared memory transport

This patch removes the papi transport shared memory plugin.
It also removes any dependency on CFFI.

Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ia81701c0dc506871e511495d837e41420e1fdf72
Signed-off-by: Ole Troan <ot@cisco.com>
2 years agosession: api cleanup 01/32901/5
Filip Tehlar [Sat, 26 Jun 2021 22:12:08 +0000 (22:12 +0000)]
session: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iacc58d27ac51c8a1c571087f98297e046b3477c2

2 years agogso: add ipsec tunnel tests 71/33071/3
Mohsin Kazmi [Fri, 9 Jul 2021 12:19:37 +0000 (14:19 +0200)]
gso: add ipsec tunnel tests

Type: test

Change-Id: I831bc8c21f8ce869054eafcb14542508039c1b82
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2 years agosession: allow listen in any fib if default namespace 65/33065/4
Florin Coras [Thu, 8 Jul 2021 15:25:09 +0000 (08:25 -0700)]
session: allow listen in any fib if default namespace

Type: fix

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

2 years agointerface: unable to to assign tx queue to last worker thread 67/32767/4
Steven Luong [Thu, 17 Jun 2021 15:22:50 +0000 (08:22 -0700)]
interface: unable to to assign tx queue to last worker thread

Using the cli "set interface tx-queue", it is not possible to assign
tx queue to the last worker thread.

The reason is that vdm->first_worker_thread_index is 1. Adding that
to clib_bitmap_last_set (bitmap) exceeds vdm->last_worker_thread_index
when the CLI specifies the last worker thread.

Also make the threads argument optional to enable user to unbind a queue
from any thread.

Type: fix

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

2 years agotap: Set the MTU on the TUN deivce 02/32402/2
Neale Ranns [Thu, 20 May 2021 16:09:40 +0000 (16:09 +0000)]
tap: Set the MTU on the TUN deivce

Type: fix

For a TAP device the MTU is set via the ethernet_register for TUN we
need to do it explicitly (like we do for other tunnel types).

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ie6a13c795acb35b53f8d99b05c70c3e73a7b428e

2 years agotcp: use tcp output for half open connections 01/33001/7
Florin Coras [Sat, 3 Jul 2021 01:10:20 +0000 (18:10 -0700)]
tcp: use tcp output for half open connections

Type: improvement

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

2 years agotcp: use main thread pool for half-opens 21/33021/6
Florin Coras [Tue, 6 Jul 2021 15:25:36 +0000 (08:25 -0700)]
tcp: use main thread pool for half-opens

Type: improvement

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

2 years agol3xc: reset dpo on delete 20/33020/2
Benoît Ganne [Tue, 6 Jul 2021 14:12:06 +0000 (16:12 +0200)]
l3xc: reset dpo on delete

When removing a l3xc path we must release the corresponding dpo.

Type: fix

Change-Id: Ib6309797cb11374264c786e064f262ad13c6f0a1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agovcl: fix packetdrill test error 06/33006/2
wanghanlin [Tue, 6 Jul 2021 09:18:29 +0000 (17:18 +0800)]
vcl: fix packetdrill test error

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I36d9affa5ee7160e95ee0ed463595bef752bbe9a

2 years agovcl: print current app state for timeout 05/33005/2
wanghanlin [Tue, 6 Jul 2021 07:57:55 +0000 (15:57 +0800)]
vcl: print current app state for timeout

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Id701b1a1bee4e41b76d324ea05beb07ca57f825c

2 years agovcl: fix return value check for ldp_fd_to_vlsh 04/33004/2
wanghanlin [Tue, 6 Jul 2021 07:01:48 +0000 (15:01 +0800)]
vcl: fix return value check for ldp_fd_to_vlsh

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Iaad4022e84f4979016bb46c2ff5cfc5d43d6ff50

2 years agovrrp: Fix for test-all testcases failure. 54/32954/3
Rajaselvam [Wed, 30 Jun 2021 05:50:20 +0000 (11:20 +0530)]
vrrp: Fix for test-all testcases failure.

Failure due to the method vrrp_adv_packet scope and self reference.

Type: fix
Signed-off-by: rajaselvam <rajaselvam@gmail.com>
Change-Id: I4ec14ea37928142651eb08fcc5736bc9c24ab062

2 years agobuild: remove unused files and sections 96/32996/2
Damjan Marion [Fri, 2 Jul 2021 14:04:26 +0000 (16:04 +0200)]
build: remove unused files and sections

Type: make
Change-Id: Ia1d8c53c5fb02f7e5c86efab6e6ccd0fdb16bc96
Signed-off-by: Damjan Marion <damarion@cisco.com>
2 years agoipsec: ADD/update IPSec documentation 17/30217/2
Neale Ranns [Wed, 18 Nov 2020 11:13:27 +0000 (11:13 +0000)]
ipsec: ADD/update IPSec documentation

Type: docs

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

2 years agointerface: api cleanup 57/32957/3
Filip Tehlar [Sun, 27 Jun 2021 00:18:57 +0000 (00:18 +0000)]
interface: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I189bfcca2d5fa1f37d05a72c92d04bf260343043

2 years agosr: do not use vnet_all_api.h 75/32975/6
Filip Tehlar [Mon, 28 Jun 2021 00:52:00 +0000 (00:52 +0000)]
sr: do not use vnet_all_api.h

.. as it is going to be removed.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Id3a4a4ea1e1b7361d43735bfa5470c28fc65209f

2 years agovlib: fix buffer pool alignment size 75/32875/2
Tianyu Li [Wed, 23 Jun 2021 07:35:03 +0000 (07:35 +0000)]
vlib: fix buffer pool alignment size

Alignment size should be CLIB_CACHE_LINE_BYTES(64)
instead of CLIB_LOG2_CACHE_LINE_BYTES(6)

Type: fix

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

2 years agocrypto: fix sw async crypto with chained buffers 32/32732/3
Benoît Ganne [Mon, 14 Jun 2021 15:19:46 +0000 (17:19 +0200)]
crypto: fix sw async crypto with chained buffers

When a buffer in the chain comes with a negative current_data offset,
the conversion to sgl will skip it because of resetting offset to 0.
Moreover, crypto_start_offset is relative to the 1st buffer data pointer
so we should not check it against subsequent buffers anyway.

Type: fix

Change-Id: Id177a90bfda242a5372c7e8836cf6668e98c780e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agomisc: Don't IPv[46] enable local0, it doesn't receive packets. 73/32873/2
Neale Ranns [Wed, 23 Jun 2021 11:58:48 +0000 (11:58 +0000)]
misc: Don't IPv[46] enable local0, it doesn't receive packets.

Type: improvement

local0 exists just to burn sw_if_index=0 so we catch common API errors.

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

2 years agovmxnet3: support manual thread assignment to tx queue 69/32769/2
Steven Luong [Thu, 17 Jun 2021 15:50:32 +0000 (08:50 -0700)]
vmxnet3: support manual thread assignment to tx queue

Thread assignment to tx queue has always been automatic and there
was no way to modify it. With this patch, it is now possible to use
the cli "set interface tx-queue" to change the thread assignment to
tx queue for vmxnet3 interface, thanks to the new tx infra.

Type: feature

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

2 years agoip: api cleanup 78/32878/7
Filip Tehlar [Wed, 23 Jun 2021 14:38:38 +0000 (14:38 +0000)]
ip: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I4b6d881571c158b7a69a78b9680732d090c4f8b5

2 years agomemif: fix tx desc length for chained buffers in copy mode 49/32849/2
Benoît Ganne [Tue, 22 Jun 2021 13:46:33 +0000 (15:46 +0200)]
memif: fix tx desc length for chained buffers in copy mode

When enqueuing chained buffer, we must update the descriptor length for
each fragment descriptor in addition to the last.

Type: fix

Change-Id: I9bc95fe557a049eeea4abd41c695153632d52a52
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agordma: fix chained buffer tx path in dv mode 52/32952/2
Benoît Ganne [Fri, 25 Jun 2021 15:49:01 +0000 (17:49 +0200)]
rdma: fix chained buffer tx path in dv mode

When switching to the direct verb chain buffer tx path, we must account
for all remaining packets, including the packets that would wrapped
around.
Previously we were using the 'n' counter but ignoring the 'n_wrap'
counter: if some packets would have wrapped around in the default path,
it would be ignored by the chained buffer tx path.
Compute the correct number of remaining packets based on the old and
current txq tail instead.
Also simplify the chained tx function parameters.

Type: fix

Change-Id: If12b41a8f143fda80290342e2904792f7501c559
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agomemif: fix chain buffer length in zero-copy mode 72/32872/2
Benoît Ganne [Wed, 23 Jun 2021 11:45:25 +0000 (13:45 +0200)]
memif: fix chain buffer length in zero-copy mode

The total_length_not_including_first_buffer field must be reset before
being updated otherwise it will quicly grows as stale values are reused.

Type: fix

Change-Id: Ic48c0822660998b0dfc0b5fdeadae6071b2d03f7
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agovcl: coverity fixes 61/32961/2
Florin Coras [Wed, 30 Jun 2021 14:54:29 +0000 (07:54 -0700)]
vcl: coverity fixes

Type: fix

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

2 years agoipsec: Derive the TUNNEL_V6 flag from the configured address types 94/32894/2
Neale Ranns [Thu, 24 Jun 2021 15:41:03 +0000 (15:41 +0000)]
ipsec: Derive the TUNNEL_V6 flag from the configured address types

Type: improvement

There's no need for the user to set the TUNNEL_V6 flag, it can be
derived from the tunnel's address type.

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

2 years agosession: free ctrl event data on connect rpc 53/32953/2
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

2 years agoipsec: Fix setting the hi-sequence number for decrypt 38/32938/3
Neale Ranns [Mon, 28 Jun 2021 13:31:28 +0000 (13:31 +0000)]
ipsec: Fix setting the hi-sequence number for decrypt

Type: fix

two problems;
 1 - just because anti-reply is not enabled doesn't mean the high sequence
number should not be used.
   - fix, there needs to be some means to detect a wrapped packet, so we
use a window size of 2^30.
 2 - The SA object was used as a scratch pad for the high-sequence
number used during decryption. That means that once the batch has been
processed the high-sequence number used is lost. This means it is not
possible to distinguish this case:
      if (seq < IPSEC_SA_ANTI_REPLAY_WINDOW_LOWER_BOUND (tl))
{
  ...
  if (post_decrypt)
    {
      if (hi_seq_used == sa->seq_hi)
/* the high sequence number used to succesfully decrypt this
 * packet is the same as the last-sequnence number of the SA.
 * that means this packet did not cause a wrap.
 * this packet is thus out of window and should be dropped */
return 1;
      else
/* The packet decrypted with a different high sequence number
 * to the SA, that means it is the wrap packet and should be
 * accepted */
return 0;
    }
  - fix: don't use the SA as a scratch pad, use the 'packet_data' - the
same place that is used as the scratch pad for the low sequence number.

other consequences:
 - An SA doesn't have seq and last_seq, it has only seq; the sequence
numnber of the last packet tx'd or rx'd.
 - there's 64bits of space available on the SA's first cache line. move
the AES CTR mode IV there.
 - test the ESN/AR combinations to catch the bugs this fixes. This
doubles the amount of tests, but without AR on they only run for 2
seconds. In the AR tests, the time taken to wait for packets that won't
arrive is dropped from 1 to 0.2 seconds thus reducing the runtime of
these tests from 10-15 to about 5 sceonds.

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

2 years agotcp: add ACK flag to RST packet 45/32945/2
liuyacan [Tue, 29 Jun 2021 08:45:11 +0000 (16:45 +0800)]
tcp: add ACK flag to RST packet

According to RFC 793, the ACK control bit is always sent once
the connection is established.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: Id0fe19114a0cc468dbce4c0938b345c2ac339e73

2 years agovcl: improvements to epoll lt 59/32859/39
Florin Coras [Wed, 23 Jun 2021 03:04:46 +0000 (20:04 -0700)]
vcl: improvements to epoll lt

Type: improvement

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

2 years agoipsec: increment SPD policy counters for bypass and discard actions in ipsec4_input_node 11/32611/3
Zachary Leaf [Mon, 7 Jun 2021 08:01:07 +0000 (03:01 -0500)]
ipsec: increment SPD policy counters for bypass and discard actions in ipsec4_input_node

ipsec_spd_policy_counters are incremented only for matched inbound
PROTECT actions (:273 and :370). BYPASS + DISCARD actions also have
SPD policy counters that should be incremented on match.

This fix increments the counters for inbound BYPASS and DISCARD actions.

Type: fix
Signed-off-by: Zachary Leaf <zachary.leaf@arm.com>
Change-Id: Iac3c6d344be25ba5326e1ed45115ca299dee5f49

2 years agovcl: Don't use app_socket_api to notify VPP in parent when child exited 44/32944/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

2 years agovcl: Don't memset events to optimize CPU usage 00/32900/4
wanghanlin [Fri, 25 Jun 2021 09:40:13 +0000 (17:40 +0800)]
vcl: Don't memset events to optimize CPU usage

In stress test case, memset may consume a lot of CPU because
vls_epoll_wait is called very frequently.

Type: improvement

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I9b4e1d6e1c4d7217cf0b2529d8efed792dea7b40

2 years agovcl: epoll fix postponed evt handling 42/32942/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

2 years agoipsec: Split the SA add_del API into an separate add and del 93/32893/3
Neale Ranns [Thu, 24 Jun 2021 14:57:56 +0000 (14:57 +0000)]
ipsec: Split the SA add_del API into an separate add and del

Type: improvement

the rationale being that the del only requires the SA's ID, so it's a
bit mean to require the client to fill out all the other information as
well.

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

2 years agoipsec: Enable the extended Sequence Number IPSec tests for GCM 04/32904/2
Neale Ranns [Fri, 25 Jun 2021 13:30:50 +0000 (13:30 +0000)]
ipsec: Enable the extended Sequence Number IPSec tests for GCM

Type: test

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

2 years agovrrp: prevent segfault in multicast join due to missing LL Addr 06/32906/2
Jon Loeliger [Fri, 25 Jun 2021 15:24:57 +0000 (11:24 -0400)]
vrrp: prevent segfault in multicast join due to missing LL Addr

If an IPv6 Link Layer Address is missing from an interface,
treat it as a down interface.  While this fails to send a
VRRP multicast group join, it also prevents a seg fault.

Type: fix
Fixes: 39e9428b90bc74d1bb15fc17759c8ef6ad712418
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: Iebf69bb30604a96de6587655eb872aa818158a56

2 years agostats: reverts part of a fix on Python client 09/32909/2
Arthur de Kerhor [Fri, 25 Jun 2021 16:03:24 +0000 (18:03 +0200)]
stats: reverts part of a fix on Python client

Puts return statements back inside code blocks under the lock

Type: fix

Change-Id: I76d426f336200035026b92bcb0ffe2b472a3142d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2 years agostats: revert "add a retry mechanism in a symlink test" 20/32920/3
Beno�t Ganne [Fri, 25 Jun 2021 15:45:05 +0000 (15:45 +0000)]
stats: revert "add a retry mechanism in a symlink test"

This reverts commit d70777aa60a87001f323f3b226d7e5cee2cd23d8.

Reason for revert: wrong fix

Type: fix

Change-Id: Ibff1b977eae8d2cc85888165ebf83c42eb661698
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agostats: fix race conditions in vpp-api stats client 97/32897/4
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

2 years agosession: fix session formated str output truncated in cli 67/32867/5
Xiaoming Jiang [Wed, 23 Jun 2021 09:07:57 +0000 (09:07 +0000)]
session: fix session formated str output truncated in cli

Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I2c2b739a5aa246bbf53d6663efd403c3aee9dddd

2 years agolinux-cp: stop managing adjacencies for tunnels 90/32890/1
Alexander Chernavin [Thu, 24 Jun 2021 14:46:19 +0000 (10:46 -0400)]
linux-cp: stop managing adjacencies for tunnels

Type: fix

Outbound packets which arrive on tun/L3 interfaces use a default
adjacency for the interface & address family from the corresponding
interface pair. However, there are entries in the linux-cp adj table
that are created for them. Managing these entries might cause a
segfault because the rewrite data might exceed the reserved space for
it of 28 bytes in the linux-cp adj key (e.g. in case of GRE IPv6).

With this change, stop creating adjacencies for tun/L3 interfaces in
the linux-cp adj table and delegating them.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I4bcd685860053ab87c65064c182e3ed53fd4fae9

2 years agosvm: fix asan check failed @svm_map_region on arm 85/32885/2
Tianyu Li [Thu, 17 Jun 2021 07:08:32 +0000 (07:08 +0000)]
svm: fix asan check failed @svm_map_region on arm

==283032==AddressSanitizer CHECK failed: compiler-rt/lib/asan/asan_mapping.h:366
          "((AddrIsInMem(p))) != (0)" (0x0, 0x0)
    #0 0x49c128 in __asan::AsanCheckFailed
    #1 0x4ae8dc in __sanitizer::CheckFailed
    #2 0x495dec in __asan::ShadowSegmentEndpoint::ShadowSegmentEndpoint
    #3 0x495e48 in __asan_unpoison_memory_region
    #4 0xfffff4e851f8 in svm_map_region /home/vpp/src/svm/svm.c:611:7
    #5 0xfffff4e86d9c in svm_region_init_internal /home/vpp/src/svm/svm.c:797:8
    #6 0xfffff4e87ce4 in svm_region_init_args /home/vpp/src/svm/svm.c:880:3
    #7 0xfffff7f30d30 in vlibmemory_init /home/vpp/src/vlibmemory/memory_api.c:974:3
    #8 0xfffff4fd5368 in vlib_main /home/vpp/src/vlib/main.c:1986:16

svm_global_region_base_va 0x200000000000 is not in the aarch64 mapping range,
leading check failure and vpp cannot start.

aarch64 asan mapping
|| `[0x201000000000, 0xffffffffffff]` || HighMem    ||
|| `[0x041200000000, 0x200fffffffff]` || HighShadow ||
|| `[0x001200000000, 0x0411ffffffff]` || ShadowGap  ||
|| `[0x001000000000, 0x0011ffffffff]` || LowShadow  ||
|| `[0x000000000000, 0x000fffffffff]` || LowMem     ||

x86 asan mapping
|| `[0x10007fff8000, 0x7fffffffffff]` || HighMem    ||
|| `[0x02008fff7000, 0x10007fff7fff]` || HighShadow ||
|| `[0x00008fff7000, 0x02008fff6fff]` || ShadowGap  ||
|| `[0x00007fff8000, 0x00008fff6fff]` || LowShadow  ||
|| `[0x000000000000, 0x00007fff7fff]` || LowMem     ||

Type: fix

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

2 years agovcl: fix vcl_session_write_ready when connecting 89/32889/2
liuyacan [Thu, 24 Jun 2021 12:39:02 +0000 (20:39 +0800)]
vcl: fix vcl_session_write_ready when connecting

Applications like curl will poll the fd after a non-blocking
connect, so we need to avoid returning the wrong event.

Type: fix

Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I7ea146fc954fda631b3d88b46bb80adfbcdf137c

2 years agol2: api cleanup 61/32861/8
Filip Tehlar [Tue, 22 Jun 2021 21:20:29 +0000 (21:20 +0000)]
l2: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7b84767e75d5f8310ec071036a5780fa4530f79f

2 years agolinux-cp: add callbacks for pair management 77/32877/4
Matthew Smith [Tue, 22 Jun 2021 14:36:50 +0000 (09:36 -0500)]
linux-cp: add callbacks for pair management

Type: improvement

Allow callbacks to be registered which will be called when an
interface pair is added or deleted.

Change-Id: I1c413ac2ada802021f9e56e2f878ce67e5eda2f5
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agovirtio: api cleanup 64/32864/5
Filip Tehlar [Wed, 23 Jun 2021 00:23:05 +0000 (00:23 +0000)]
virtio: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I4f9316b16f16a48e2042aa17db596bfd181bd314

2 years agomss_clamp: iterate enabled direction as a vector, not pool 73/32773/2
Jon Loeliger [Thu, 17 Jun 2021 21:30:49 +0000 (17:30 -0400)]
mss_clamp: iterate enabled direction as a vector, not pool

Type: fix
Fixes: bf55e9931ce203049385fbf55dde291ead556679
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: I5410a7a5a8cdc1d41abcc42fe5b42e6e2991dc06

2 years agonat: ICMP handling fixes 70/32870/5
Klement Sekera [Tue, 22 Jun 2021 13:56:36 +0000 (15:56 +0200)]
nat: ICMP handling fixes

If ICMP comes from a router on path, source address must not be
rewritten in o2i path to avoid getting wrong checksum.

Fix ICMP checksum computations.

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

2 years agompls: api cleanup 63/32863/2
Filip Tehlar [Tue, 22 Jun 2021 22:01:19 +0000 (22:01 +0000)]
mpls: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I148022278a792b3687402b6915fe6fb513858a2a

2 years agospan: api cleanup 65/32865/3
Filip Tehlar [Tue, 22 Jun 2021 22:22:58 +0000 (22:22 +0000)]
span: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7ec4bbb21a079c6f6adfb4f954054b2b07bf19c5

2 years agosyslog: api cleanup 66/32866/1
Filip Tehlar [Tue, 22 Jun 2021 22:33:02 +0000 (22:33 +0000)]
syslog: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0971f12b7b82d5134d06ed0539d41624429c992b

2 years agotcp: api cleanup 60/32860/1
Filip Tehlar [Tue, 22 Jun 2021 20:39:03 +0000 (20:39 +0000)]
tcp: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I3c06e9cb3fabdcdce9c17e93cfedfd771295f589

2 years agosession: avoid reordering unlisten and connect msg 56/32856/5
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

2 years agovirtio: api cleanup 46/32846/4
Filip Tehlar [Tue, 22 Jun 2021 12:18:17 +0000 (12:18 +0000)]
virtio: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I047310b8c9fcc51dcfb187710ff59b7895abe217

2 years agomisc: punt: api cleanup 53/32853/4
Filip Tehlar [Tue, 22 Jun 2021 14:10:41 +0000 (14:10 +0000)]
misc: punt: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I13dae61ddb7150c7fe9a7fd0eae73055ff3f2816

2 years agodpdk: enable igc devices 20/32720/3
Matthew Smith [Wed, 9 Jun 2021 12:52:11 +0000 (07:52 -0500)]
dpdk: enable igc devices

Type: improvement

Set port type and supported flow actions on 2.5G Intel NICs which are
managed by the igc PMD.

Change-Id: Id144eaa158e24a3f10effb6b517d1c62fba0d2e8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2 years agodevices: af_packet api cleanup 42/32842/3
Filip Tehlar [Tue, 22 Jun 2021 11:47:09 +0000 (11:47 +0000)]
devices: af_packet api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ic7979755494a2fd23b9fa3d74e14f6b9ea0a46d0

2 years agoqos: api cleanup 52/32852/2
Filip Tehlar [Tue, 22 Jun 2021 13:55:13 +0000 (13:55 +0000)]
qos: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I39505763371c98b75ff7b697dacd3eeb0d41d40a

2 years agoapi: asan: use vec_set_len() so ASan can keep track of buffer len 35/32835/3
Benoît Ganne [Tue, 22 Jun 2021 09:58:27 +0000 (11:58 +0200)]
api: asan: use vec_set_len() so ASan can keep track of buffer len

ASan poison/unpoison vectors based on the vector length, but _vec_len()
bypass ASan annotations, contrary to vec_set_len().

Type: fix

Change-Id: I5265a5adcddef1aa11c77e0c3827346b1a66c306
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agovcl: validate vep handle when copying sessions on fork 34/32834/2
wanghanlin [Tue, 22 Jun 2021 09:34:08 +0000 (17:34 +0800)]
vcl: validate vep handle when copying sessions on fork

When copying sessions from parent on fork, we should validate vep handle
in order to EPOLL_CTL_DEL in vcl_session_cleanup correctly when child
exit.

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I7696ecd898460c9a296d2800e46c7140e2218ed7

2 years agovcl: move child wrk cleanup from sighandler to vls_epoll_wait 85/32285/10
wanghanlin [Wed, 12 May 2021 09:00:29 +0000 (17:00 +0800)]
vcl: move child wrk cleanup from sighandler to vls_epoll_wait

Main process may enter sighandler with a lock, such as lock in localtime
or in mspace_free, and child wrk cleanup may try to get such locks and
cause deadlock.
The patch move cleanup to vls_epoll_wait to wait app's next call.

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I9b208038a0f49b0ace44684189234aeac9d94730

2 years agodevices: tapv2 api cleanup 45/32845/2
Filip Tehlar [Tue, 22 Jun 2021 12:03:55 +0000 (12:03 +0000)]
devices: tapv2 api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0a2c1cbbe798ddf9d08da78bf0b458a0f54fa13a

2 years agosr: api cleanup 47/32847/2
Filip Tehlar [Tue, 22 Jun 2021 13:00:40 +0000 (13:00 +0000)]
sr: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0bdf870e2e9b0ebc11a3ce252fbd0667a83de4e6

2 years agodevices: api cleanup 40/32840/3
Filip Tehlar [Tue, 22 Jun 2021 11:28:25 +0000 (11:28 +0000)]
devices: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I03f51393a92bae45608d9fc9f53164f3b0add3cd

2 years agobonding: api cleanup 32/32832/2
Filip Tehlar [Tue, 22 Jun 2021 09:24:06 +0000 (09:24 +0000)]
bonding: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I1de45c4db57444d2d2c9fb91b8a66a4f01be699b

2 years agonat: don't drop packet with ttl=1 if output feature 15/32815/3
Klement Sekera [Mon, 21 Jun 2021 14:04:40 +0000 (16:04 +0200)]
nat: don't drop packet with ttl=1 if output feature

TTL was already decremented in ip4-rewrite so it's okay if it's 1.

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

2 years agoipsec: api cleanup 28/32828/3
Filip Tehlar [Tue, 22 Jun 2021 08:21:31 +0000 (08:21 +0000)]
ipsec: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0db7343e907524af5adb2f4771b45712927d5833

2 years agoethernet: api cleanup 14/32814/4
Filip Tehlar [Mon, 21 Jun 2021 13:45:44 +0000 (13:45 +0000)]
ethernet: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iacaefbf04834f000a14f151c4b848f280ac46d63

2 years agopolicer: api cleanup 29/32829/2
Filip Tehlar [Tue, 22 Jun 2021 08:37:26 +0000 (08:37 +0000)]
policer: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I5dd30870443a22a7da65f6b5a6d3967991e2aceb

2 years agobfd: api cleanup 12/32812/4
Filip Tehlar [Mon, 21 Jun 2021 13:21:59 +0000 (13:21 +0000)]
bfd: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7a0a189ce635a4a74e63ac4cb133686b8b7ba53a

2 years agostats: add a retry mechanism in a symlink test 13/32813/4
Arthur de Kerhor [Mon, 21 Jun 2021 13:35:01 +0000 (15:35 +0200)]
stats: add a retry mechanism in a symlink test

When creating a new node, a corresponding node symlink is created when
the nodes counters update. To be sure we are able to access this
symlink, a retry mechanism was added.

Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: Ieb08d8554b4fd13d01e79062b5f820b235be9a13

2 years agobuild: vpp-ext-deps rpm version check may fail if system language is not English 59/30559/3
jiangxiaoming [Wed, 30 Dec 2020 07:25:15 +0000 (15:25 +0800)]
build: vpp-ext-deps rpm version check may fail if system language is not English

Type: fix

Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Ib691d8f66b0d6047d23a0bdc4f3d15e6380f31eb

2 years agovlib: fix coverity warning 16/32816/2
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

2 years agovppinfra: asan: fix overflow support 64/32764/2
Benoît Ganne [Wed, 9 Jun 2021 15:20:16 +0000 (17:20 +0200)]
vppinfra: asan: fix overflow support

In some part of VPP we are accessing memory past what was allocated for
efficiency when we know it is safe to do so. We need to tell ASan about
it so it does not complain.
The initial attempt was too simple and could not manage cases where the
poisoned memory was scattered. This new attempt is more robust as we
save and restore the full shadow state.
Note it will still not work properly if we poison/unpoison memory while
in an overflow context, but this should not be a big issue as overflow
should only be temporary.

Type: fix

Change-Id: I636f44eb59aa8455a4d13929a3791b56619af7b4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2 years agoudp: api cleanup 11/32811/3
Filip Tehlar [Mon, 21 Jun 2021 13:01:24 +0000 (13:01 +0000)]
udp: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0994241df94ad7536be323b9d7c48caf38cc4267

2 years agofeature: api cleanup 10/32810/2
Filip Tehlar [Mon, 21 Jun 2021 12:43:35 +0000 (12:43 +0000)]
feature: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I76be91715953c7cbe704961d1a56c48334656e19

2 years agopg: api cleanup 08/32808/2
Filip Tehlar [Mon, 21 Jun 2021 12:11:28 +0000 (12:11 +0000)]
pg: api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Idf0c24c9c8f8f3c267285c6a231c9c1a364a902a

2 years agomisc: ipfix api cleanup 07/32807/2
Filip Tehlar [Mon, 21 Jun 2021 10:57:49 +0000 (10:57 +0000)]
misc: ipfix api cleanup

Use autogenerated code.
Does not change API definitions.

Type: improvement

Change-Id: I864979ce490651bf1f5fed107620e9bc4ca4bf93
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2 years agoflow: api cleanup 03/32803/2
Filip Tehlar [Mon, 21 Jun 2021 09:49:31 +0000 (09:49 +0000)]
flow: api cleanup

Use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I02f53486723f7ac7e9026ff092b63e86dff13232

2 years agogso: api cleanup 04/32804/2
Filip Tehlar [Mon, 21 Jun 2021 10:08:43 +0000 (10:08 +0000)]
gso: api cleanup

Use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Id373c7828d77cca0121baf9c7635cfe2c5f938d7

2 years agovxlan: api cleanup 23/32723/8
Filip Tehlar [Fri, 4 Jun 2021 13:37:00 +0000 (13:37 +0000)]
vxlan: api cleanup

use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I163eefa86f3248260481181818d70fa1b6eaa220

2 years agoclassify: api cleanup 24/32724/5
Filip Tehlar [Fri, 4 Jun 2021 13:50:34 +0000 (13:50 +0000)]
classify: api cleanup

Use autogenerated code.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Id7d4d23e4fe707f7049828fec44df7ff0419d23c

2 years agobier: api cleanup 22/32722/9
Filip Tehlar [Thu, 17 Jun 2021 01:28:22 +0000 (01:28 +0000)]
bier: api cleanup

use autogenerated code

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I86459d918ac46bed523e847db9f9c7179147d022

2 years agofib: Add unit test for RR source using covers labels 57/32757/3
Neale Ranns [Thu, 17 Jun 2021 08:43:55 +0000 (08:43 +0000)]
fib: Add unit test for RR source using covers labels

Type: test

UT for patch: 4fc68ee

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

2 years agosession: improve ct locking with multiple workers 74/32774/11
Florin Coras [Thu, 17 Jun 2021 22:53:38 +0000 (15:53 -0700)]
session: improve ct locking with multiple workers

Type: improvement

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

2 years agosession: udp accept session state should be updated by app 75/32775/1
jxm [Fri, 18 Jun 2021 03:42:31 +0000 (03:42 +0000)]
session: udp accept session state should be updated by app

Type: fix
Signed-off-by: jxm <jiangxiaoming@outlook.com>
Change-Id: I6fb2620e7076e1e38a2ab85a70febe614b079e67

2 years agosession: optimize ct fifo segment allocations 51/32651/29
Florin Coras [Wed, 9 Jun 2021 21:55:24 +0000 (14:55 -0700)]
session: optimize ct fifo segment allocations

Allocate per app pair segments with space for more than one fifo.

Type: feature

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

2 years agotls: increase engine bits room in handle to support custom engine type 53/32753/3
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

2 years agofib: changing parsing order to avoid corner case 55/32755/2
Arthur de Kerhor [Thu, 17 Jun 2021 07:34:12 +0000 (09:34 +0200)]
fib: changing parsing order to avoid corner case

mfib interface flags are parsed before the interface name. For some
specific names, this creates a bug when adding routes.

ex: ip route add 10.0.2.0/24 via FortyGigabitEthernetd8/0/0
The 'F' at the beginnig of the interface name is parsed as the
"Forward" flag. Because of that, the interface name parsed is
"ortyGigabitEthernetd8/0/0" which results in a parsing error.

Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: Ib76c2f86416455841f910f7b466b467001072b70

2 years agotests: Tests for cross AF routing 64/32464/3
Neale Ranns [Thu, 27 May 2021 12:18:52 +0000 (12:18 +0000)]
tests: Tests for cross AF routing

Type: test

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

2 years agompls: CLI to show the MPLS forwarding state of an interface 34/32734/3
Neale Ranns [Tue, 15 Jun 2021 12:43:12 +0000 (12:43 +0000)]
mpls: CLI to show the MPLS forwarding state of an interface

Type: improvement

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

2 years agovcl: fix fifo sharing 52/32752/3
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

2 years agovcl: fix worker cleanup 51/32751/2
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

2 years agovcl: basic support for epoll level-triggered evts 99/32599/15
Florin Coras [Fri, 4 Jun 2021 17:07:55 +0000 (10:07 -0700)]
vcl: basic support for epoll level-triggered evts

Type: feature

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

2 years agofib: copy the path extentions when creating fib src rr entry 76/31276/2
Stanislav Zaikin [Sat, 13 Feb 2021 13:32:15 +0000 (16:32 +0300)]
fib: copy the path extentions when creating fib src rr entry

Type: fix
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Change-Id: Ib4957bfc03b0dfc90fd28689d5b32cc3d82e7b74

2 years agonat: test all intf addrs in is_interface_addr() 53/32453/4
Alexander Chernavin [Wed, 26 May 2021 13:55:42 +0000 (09:55 -0400)]
nat: test all intf addrs in is_interface_addr()

Type: fix

Currently, is_interface_addr() tests if a given IPv4 address belongs to
an interface by a given sw_if_index. However, there are several issues:
 * only the first found address on the interface is actually tested,
 * sw_if_index is always cached even if the interface hasn't been
   assigned any addresses yet.

With this change, is_interface_addr() tests all IPv4 addresses on an
interface by a given sw_if_index and caches sw_if_index only if there
are addresses present.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: If1acc4a534647a5f0ce8e9b565b867c92a016dc3

2 years agonat: fix crash when translate unknown proto packets 67/32467/2
Alexander Chernavin [Thu, 27 May 2021 14:05:17 +0000 (10:05 -0400)]
nat: fix crash when translate unknown proto packets

Type: fix

Currently, there might be a crash in NAT ED mode:
 * if a session for an unknown proto packet cannot be created in2out,
 * if a session for an unknown proto packet cannot be found out2in.

With this change, translate packets only if a session is given in NAT
ED mode.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Iafb332db1ae9a3e76435964ad636037d1b8a51e8

2 years agostats: fix counters name overflow 43/32643/2
Benoît Ganne [Tue, 8 Jun 2021 14:27:38 +0000 (16:27 +0200)]
stats: fix counters name overflow

sm_directory_vector_by_name is a C-string hashtable, make sure the names
are NULL-terminated.

Type: fix

Change-Id: If44456ef9da69ed012f2b981b58ce732663af67d
Signed-off-by: Benoît Ganne <bganne@cisco.com>