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
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
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
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
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
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>
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>
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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>
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
Filip Tehlar [Tue, 15 Jun 2021 10:29:54 +0000 (10:29 +0000)]
api: remove custom dump
Type: improvement
Change-Id: I4b9b2be8817be10e46accc19219deb2b544f266b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Benoît Ganne [Mon, 14 Jun 2021 15:23:56 +0000 (17:23 +0200)]
ipsec: fix length check when adding footer+icv
Length check must also take current_data into account.
Type: fix
Change-Id: I7a1b1752868892d40f59490d05452ef24565cca6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
liuyacan [Mon, 14 Jun 2021 10:09:01 +0000 (18:09 +0800)]
tcp: prevent timer handler being called frequently
In the current implement, tcp would start or up an one tick
retransmit timer for that connection if vlib_buffer_alloc()
return 0. Now the tick is 0.1ms, this means that if VPP is
in a buffer shortage state, there would be a large number of
burst timer expirations.
This commit limits the minimum interval of the retransmission
timer to 100ms.
Type: fix
Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: Ia11d693fe46119c5dc16b24ca93c30c31109057a
Filip Tehlar [Fri, 4 Jun 2021 11:55:48 +0000 (11:55 +0000)]
nsh: api cleanup
use autogenerated code
Type: improvement
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I91a55412f96b138c3c00cbb8943d271c8a6452c9
liuyacan [Sun, 13 Jun 2021 06:54:55 +0000 (14:54 +0800)]
vcl: improve shutdown()
This commit does following:
- Change the behavior of shutdown() with SHUT_RDWR flag.
- Check SHUT_RD flag when read()
- Change the errno when write() after SHUT_WR
- Remove unused code
All the above modification passed the packetdrill test.
Type: improvement
Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Change-Id: I0c81f52e563562e58580d70976526b898e65e915
Neale Ranns [Mon, 7 Jun 2021 09:34:07 +0000 (09:34 +0000)]
linux-cp: Add tests for tun devices
Type: test
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iec69d8624b15766ed65e7d09777819d2242dee17
Neale Ranns [Thu, 3 Jun 2021 14:43:21 +0000 (14:43 +0000)]
pg: A Tunnel mode variant of a pg interface
Type: feature
this allows VPP to simulate linux tun devices.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3adf38b49a254804370f78edd5d275d192fd00a6
Dave Barach [Fri, 11 Jun 2021 16:57:23 +0000 (12:57 -0400)]
vlib: fix dangling reference in node_by_name hash
When recycling a debug CLI process node, unix_cli_file_add() needs to
delete and recreate the related node_by_name hash table entry.
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I635da4918509d5b22eae37627c2d9b3608380ca6
Florin Coras [Sat, 12 Jun 2021 18:56:19 +0000 (11:56 -0700)]
session: fix listener ct transport retrieval on accept
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ied2608e7a28c59c908803ca676abbe93072fadb8
Florin Coras [Sat, 12 Jun 2021 18:47:37 +0000 (11:47 -0700)]
tcp: fix proto in port reuse check
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I338e61654a62ed6308ecd8bb15e1a8b13cd859b9
Florin Coras [Fri, 11 Jun 2021 05:50:26 +0000 (22:50 -0700)]
session: half-open free only on main thread
TCP and (D)TLS clean up half-opens on main without a lock/barrier so
cleanup initiated from first worker, e.g., cut-throughs, can corrupt the
session pool.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2e5162831c0e201b22454f17fe55bfac44b85fa9
Mohsin Kazmi [Fri, 28 May 2021 15:11:23 +0000 (17:11 +0200)]
gso: fix the gro re-ordering for packets with PSH
Type: fix
This prevents reordering when a push flag is received.
GRO appends the segment with the push flag to the existing
flow and flushes it immediately.
Change-Id: I61b36209b3381f340594a9cb3ed816d43b02bdff
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Dave Barach [Wed, 9 Jun 2021 11:49:34 +0000 (07:49 -0400)]
docs: cleanup, remove stale material
Point https://fd.io/docs/vpp/master/links/index.html at docs.fd.io/vpp
instead of at one specific stale release
Remove https://fd.io/docs/vpp/master/featuresbyrelease/index.html
Remove https://fd.io/docs/vpp/master/events/index.html
Remove dead projects from
https://fd.io/docs/vpp/master/relatedprojects/index.html
Remove unsupported distros from
https://fd.io/docs/vpp/master/whatisvpp/supported.html
Reduce (doxygen) list of test framework doc files to actively
supported releases
Type: docs
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I179966fbbe09ac123e5f2647787a8dea93190b5c
Damjan Marion [Thu, 10 Jun 2021 15:41:57 +0000 (17:41 +0200)]
memif: fix crash with zero-copy slave
Type: fix
Change-Id: I456cc0b0a6f2dc32b14791baf9d4a7f67279e8df
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Thu, 10 Jun 2021 15:08:53 +0000 (08:08 -0700)]
vcl: touch fifo on epoll del only if session open
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0971c18a183319d09486459b0da08d44ce38acef
fangtong [Sat, 5 Jun 2021 13:45:36 +0000 (21:45 +0800)]
memif: fix the spinlock and unlock issue.
when the configuration of tx queues is larger than the worker-threads,
the clib_spinlock_lock_if_init will not be executed, and then this function
will executed the clib_spinlock_unlock_if_init, so this may caused the issue.
Type: fix
Signed-off-by: fangtong <fangtong2007@163.com>
Change-Id: I3ce244cd5e1f410e9f14bd060b929238f069b9fa
Tianyu Li [Wed, 26 May 2021 06:20:57 +0000 (14:20 +0800)]
l2: fix vrrp prefix mac comparison
VRRP prefix length is 5 bytes, doesn't make sense
to compare with 6 bytes mac address
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I70a9c9ca769f34a81cd568f9e6b9a3538e6ec710
Nathan Skrzypczak [Fri, 4 Jun 2021 09:17:40 +0000 (11:17 +0200)]
cnat: fix spinlock
Type: fix
Change-Id: Id6406702061ada54e51ebcf5c367328605de2b6b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Benoît Ganne [Tue, 8 Jun 2021 16:44:37 +0000 (18:44 +0200)]
fib: make sure dpo is valid even when path pool expands
The path pool can expand during in fib_path_attached_next_hop_get_adj()
when calling adj_nbr_add_or_lock(). If dpo points to a path->fp_dpo, its
reference becomes stale.
Use a temporary copy instead.
Type: fix
Change-Id: Ie966cb5f3f7b416425964dca12f1f586bfc2010c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Tue, 8 Jun 2021 14:25:14 +0000 (16:25 +0200)]
fib: make sure adj is valid during walk
The adj can be deleted during fib_walk_sync(), make sure it can happen
only after clearing the SYNC_WALK_ACTIVE flag.
Type: fix
Change-Id: I68be00e9602e2783d9dced71c51547c38b7e8a00
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Matthew Smith [Fri, 4 Jun 2021 14:18:37 +0000 (09:18 -0500)]
ipsec: fix async crypto frame leak
Type: fix
If an async crypto frame is allocated during ESP encrypt/decrypt but
a buffer/op is not subsequently added to the frame, the frame leaks. It
is not submitted if the count of async ops is zero nor is it
returned to the frame pool. This happens frequently if >= 2 worker
threads are configured and a vector of buffers all have to be handed
off to other threads.
Wait until it is almost certain that the buffer will be added to the
frame before allocating the frame to make it more unlikely that an
allocated frame will not have any operations added to it.
For encrypt this is sufficient to ressolve the leak. For decrypt there
is still a chance that the buffer will fail to be added to the frame, so
remove the counter of async ops and ensure that all frames that were
allocated get either submitted or freed at the end.
Change-Id: I4778c3265359b192d8a88ab9f8c53519d46285a2
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Dave Barach [Wed, 2 Jun 2021 22:18:18 +0000 (18:18 -0400)]
vppinfra: pool_free_elts() now supports fixed-size pools
Test added to the unittest plugin / test_vlib.py
Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I73445e57918347c102ff6f5e8c9ddb9bd96f1407
Florin Coras [Sat, 5 Jun 2021 00:31:53 +0000 (17:31 -0700)]
vcl: accept zero length writes
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I84985f59274e77219a38ea6ac865fc73ac635d72
Florin Coras [Fri, 4 Jun 2021 23:28:18 +0000 (16:28 -0700)]
vcl: avoid multiple reads on peek
Only try once and return what was found.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I50b1d26babf1b7431d36f6b7472a1fb01475bb35
Simon Zhang [Mon, 7 Jun 2021 15:19:33 +0000 (23:19 +0800)]
tls: change picotls plugin crypto module to accommodate new version picotls
Type: fix
Change-Id: I58931e235535be7d596ca578790f389b64a4fbd2
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Neale Ranns [Thu, 3 Jun 2021 14:59:47 +0000 (14:59 +0000)]
pg: Reduce the inclusion of pg.h
Type: style
reduce the number of files recompiled after changing pg.h from 1110 to
102.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I50611eba818eeb3a2dffd437a3c72c77766bed80
Florin Coras [Fri, 4 Jun 2021 22:59:41 +0000 (15:59 -0700)]
vcl: epoll error handling fixes and improvements
- return VPPCOM_EEXIST if attempting to re-add a session
- return VPPCOM_ENOENT if the session to be removed is not epolled
- generate EPOLLIN if adding it through a mod operation on a session
that has data and did not have the event previously set.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I728a06b8cf84af8d8c1dea7406e284de8886dffc
Dave Wallace [Sat, 5 Jun 2021 02:55:18 +0000 (22:55 -0400)]
build: fix centos-8 cmake missing package dependency
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I199fea4607cf38a127ed31b2ddf1dd993a2462ba
Benoît Ganne [Thu, 27 May 2021 16:49:42 +0000 (18:49 +0200)]
ipsec: fix crypto ops in esp decrypt
When both chained and non-chained buffers are processed in the same
vector, make sure the non-chained buffers are processed as non-chained
crypto ops.
Type: fix
Change-Id: I19fc02c25a0d5e2e8a1342e2b88bbae3fe92862f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
pibr [Fri, 4 Jun 2021 16:16:26 +0000 (16:16 +0000)]
dpdk: silence coverity warning on use of uninitialized value
Type: fix
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I76923ad5035498aae821db4fd42a127617476fbb
Tianyu Li [Fri, 4 Jun 2021 09:43:01 +0000 (17:43 +0800)]
build: fix build error after make wipe
ninja: error: '/home/vpp/src/vpp-api/vapi/fake.api.json',
needed by 'CMakeFiles/vpp-api/vapi/fake.api.vapi.h',
missing and no known rule to make it
Recent fake.api.json has been moved from test/ to src/,
update make wipe to reflect the movement.
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I1e8ef414a3f8a2fce11767e0778fe21e14d54e6f
jinshaohui [Sun, 30 May 2021 04:40:56 +0000 (05:40 +0100)]
policer: fix vnet/policer cli <policer bind [unbind] name <name> <worker>> handle
an exception
Type: fix
Signed-off-by: jinshaohui <jinsh11@chinatelecom.cn>
Change-Id: I67b7d0b52c33a5b13ace8fe2d918139d2820e9bf
Florin Coras [Thu, 3 Jun 2021 04:22:21 +0000 (21:22 -0700)]
vcl: avoid updating errno on ldp init check
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7f5887865aa29c9881b5063be1d7d42369a493c1