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
Dave Wallace [Thu, 3 Jun 2021 21:37:27 +0000 (17:37 -0400)]
build: fix install-deps on centos-8
- Required to fix CI jobs failing due to errant
upgrade of glibc-devel which cannot be found.
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Iea5ae51de25b7ade1f75e3ce34d8383ed97f12ef
Florin Coras [Wed, 2 Jun 2021 18:17:29 +0000 (11:17 -0700)]
svm: release mem order for fifo chunk list CAS
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ifad679f46abd6e9c18a3eaf7e55800a09f3791ab
Florin Coras [Thu, 3 Jun 2021 04:32:39 +0000 (21:32 -0700)]
session: avoid ct connects loop
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I99af136ecab9be1f9e00de6d197b8f1c74ab4b20
Florin Coras [Wed, 10 Mar 2021 02:36:06 +0000 (18:36 -0800)]
session: lcl transport info on accept
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia46b0b8afed30f84b244c06f0457303f9e8832cd
Matthew Smith [Tue, 25 May 2021 14:41:05 +0000 (09:41 -0500)]
linux-cp: use default adjacency
Type: fix
Outbound packets from the host have an adjacency lookup performed so
buffer metadata can be filled in and output features can be applied.
If no adjacency is found for a packet, it gets dropped. This breaks
DHCP and possibly other things since the DHCP reply to a discover
request is sent to a destination MAC address that is determined by
the contents of the request packet rather than any existing neighbor
table entry.
If adjacency lookup for outbound packets does not find an entry, use
the default adjacency for the interface & address family.
Change-Id: Ia53a4df3a5bad2991768cfe4a84c560b879e656f
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Arthur de Kerhor [Tue, 1 Jun 2021 09:42:20 +0000 (11:42 +0200)]
fib: fix flags updates when adding routes with a udp encap path
When adding a route via a udp encap instance, FIB_ENTRY_FLAG_IMPORT
should not be set. In particular, fib_route_attached_cross_table should
always return false for such paths.
Modified test_udp_encap to leverage the bug that needed to be fixed.
Type: fix
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: Iaa9489e96d1cff09751f92c62caf7999d924fd7f
Arthur de Kerhor [Wed, 24 Mar 2021 14:32:07 +0000 (07:32 -0700)]
misc: bug fixes and improvements for stats Fuse fs
Added syslogs
Added support for symlinks
Relocated make commands in a local Makefile
Dumping stats on index instead of paths
Updated README
Added go.mod and go.sum with relevant dependencies for the module
Type: fix
Change-Id: I2c91317939b2f4d765771ab7038372ae27d3109d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Florin Coras [Wed, 2 Jun 2021 15:23:50 +0000 (08:23 -0700)]
vcl: ldp placeholder for SO_LINGER
Make sure we don't return error if app tries to setsockopt it.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1a9a6a8da03380b0b6a6d01efed9b672a3f0b1f9
Florin Coras [Fri, 28 May 2021 16:06:51 +0000 (09:06 -0700)]
srtp: cleanup build and default to disabled
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I62fb56257445a05105e556d1ea6cc6280b5eeccc
Arthur de Kerhor [Tue, 1 Jun 2021 09:27:48 +0000 (11:27 +0200)]
udp: calculate inner checksums if needed before udp encap
We do not want to encap headers containing wrong checksums.
Additionnally, this clears the checksums offlads flags, which
was something missing since the outer headers checksums were
calculated during the encap. Hence, those should not be
recalculated afterwards.
Type: fix
Change-Id: I7fd07987b4f13f76c6990a1c08dc2f960bdd8de1
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Ruslan Babayev [Tue, 1 Jun 2021 03:23:57 +0000 (20:23 -0700)]
nat: fix broken nat44-ed cli
snat_set_frame_queue_nelts has been replaced with
nat44_ed_set_frame_queue_nelts.
Type: fix
Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
Change-Id: I8d970be71376fdbb2bfd383d4d5824a8def93bb3
Dave Barach [Sat, 29 May 2021 13:00:45 +0000 (09:00 -0400)]
interface: fix vnet_sw_interface_update_unnumbered
Unless a software interface is actually unnumbered, do not set
ip[46]_main.lookup_main.if_address_pool_index_by_sw_if_index [sw_if_index]
to ~0
Fixes this scenario:
loop create
set int state loop0 up
create sub-interface loop0 1
set interface ip addr loop0.1 192.168.1.1/24
delete sub-interface loop0.1
set int ip addr loop0 192.168.1.1/24
Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I46141d862fa57d70b93d7bb0c105403708165264
Florin Coras [Sat, 29 May 2021 01:29:08 +0000 (18:29 -0700)]
tls: fix handling of failed connects
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifbf43dd69aa07be485fe7fa01c917512e423036e
Arthur de Kerhor [Thu, 20 May 2021 09:48:00 +0000 (11:48 +0200)]
udp: add udp decapsulation
Possibility to register a port via CLI or API to decap incoming UDP
packets:
- For CLI, a user needs to specify the inner protocol (only MPLS
supported for now)
- For API, the protocol is specified by index
Added unittests
Type: feature
Change-Id: Ifedd86d8db2e355b7618472554fd67d77a13a4aa
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Florin Coras [Sat, 29 May 2021 01:34:12 +0000 (18:34 -0700)]
hsa: proxy listener support addition of fifo segments
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I59218f784140ef5ecb8468af6aebfe25fd7703a4
Florin Coras [Sat, 29 May 2021 01:28:05 +0000 (18:28 -0700)]
tls: fix handling of failed accepts
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I34b53dcaf4f049157b538ea40a39033d43e525a5
Dave Wallace [Thu, 27 May 2021 23:44:50 +0000 (19:44 -0400)]
svm: fix inadequate atomic load for chunk mgr
- Fixes intermittent LDP cut thru iperf3 test
failure on AARCH64
Type: fix
Change-Id: Id21a078d642e03d974bacacd1f4d0faa42fb6652
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Damjan Marion [Fri, 28 May 2021 15:32:58 +0000 (17:32 +0200)]
build: bash set in ./configure
Type: make
Change-Id: I29dce242579d130afe031715b328d6bba73ec6dd
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohsin Kazmi [Thu, 27 May 2021 19:05:41 +0000 (21:05 +0200)]
gso: fix the error handling
Type: fix
Change-Id: I7ada1b780b5c40261f6b14cfadc3f382e4e39086
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Damjan Marion [Tue, 11 May 2021 07:39:24 +0000 (09:39 +0200)]
vlib: handoff rework
Type: improvement
Change-Id: I1e199ae31e969154319e94c5cd286b8d8adc6660
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 25 May 2021 17:28:21 +0000 (19:28 +0200)]
build: kindly ask python not to polute src/
Type: make
Change-Id: I1ec82e0f3c19dee79f942996339240c73d4e380c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Fan Zhang [Thu, 27 May 2021 12:24:52 +0000 (13:24 +0100)]
dpdk: bump to 21.05
Type: feature
This patch bumps DPDK version to 21.05 and updated VPP to
accomodate the changes in DPDK latest version.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: If217441f70c9ab531196dca7ec7a486ec9931cff
Mohsin Kazmi [Mon, 24 May 2021 16:33:50 +0000 (18:33 +0200)]
interface: add tx-queue cli support for new tx infra
Type: improvement
set interface tx-queue tap1 queue 2 threads 1-2
show hardware-interfaces tap1
Name Idx Link Hardware
tap1 2 up tap1
Link speed: unknown
RX Queues:
queue thread mode
0 vpp_wk_1 (2) polling
TX Queues:
queue shared thread(s)
0 no 0
1 no 1
2 yes 1-2
3 no 3
4 no 4
Ethernet address 02:fe:09:3a:48:ff
VIRTIO interface
instance 1
set interface tx-queue tap0 queue 4 threads
show hardware-interfaces tap0
Name Idx Link Hardware
tap0 1 up tap0
Link speed: unknown
RX Queues:
queue thread mode
0 vpp_wk_0 (1) polling
TX Queues:
queue shared thread(s)
0 no 0
1 no 1
2 no 2
3 no 3
4 no
Ethernet address 02:fe:03:6a:66:fc
VIRTIO interface
instance 0
Change-Id: I6154476ec9ff0b14287098529c88a14b779371a5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Neale Ranns [Thu, 20 May 2021 16:28:12 +0000 (16:28 +0000)]
ip: allow the 'ip6 enable' on tunnel interface types
Type: feature
This was limited to HW interface types (for historical reason AFAICT)
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3785a356ae31722fa60d84f64ec9aa53ebdd615f
Fan Zhang [Tue, 25 May 2021 14:50:30 +0000 (15:50 +0100)]
dpdk: fix missing symbol
Type: fix
This patch fixes the missing symbol of dpdk_plugin.so when
creating symmetric key. The solution is to add dependency
of libssl to dpdk cryptodev and disable cryptodev engine
when libssl is not presented.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I30aa6e3e3af1faefa82883bad613e1d82235a2ec
Florin Coras [Wed, 26 May 2021 17:21:10 +0000 (10:21 -0700)]
vppinfra: explicit blocking mode for sock connects
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3a33230de13fef613dc9523cf24a9968d200c2e5
Neale Ranns [Wed, 26 May 2021 12:57:14 +0000 (12:57 +0000)]
tests: Fix 'test-wipe'
Type: fix
Error:
vagrant@ ~/vpp (make-test-wipe) $ make test-wipe
make[1]: Entering directory '/home/vagrant/vpp/test'
make[2]: Entering directory '/home/vagrant/vpp/test'
make[2]: *** ext: No such file or directory. Stop.
make[2]: Leaving directory '/home/vagrant/vpp/test'
make[1]: *** [Makefile:239: wipe] Error 2
make[1]: Leaving directory '/home/vagrant/vpp/test'
make: *** [Makefile:440: test-wipe] Error 2
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3615a962882d5d56c394aa628e9942fed07cde84
Andrew Yourtchenko [Wed, 26 May 2021 11:34:39 +0000 (11:34 +0000)]
misc: Initial 21.10-rc0 commit
- Add 21.10 Release Notes placeholder
- Add test framework link
Type:docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I30770a0968bb7215f2727afec4cdc4ef87e49a5e
Neale Ranns [Thu, 13 May 2021 15:28:27 +0000 (15:28 +0000)]
fib: During the mfib lookup set the unicast FIB index in the packet so that a uRPF check on a for-us packet is done in the correct VRF
Type: fix
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Iafa6efea0d96962aa9136dccefc148a961f74476
Ray Kinsella [Tue, 25 May 2021 14:55:52 +0000 (15:55 +0100)]
pg: revert exec file fixes
This reverts commit
fd4fd0d1853ae7384e7a64c4cad17a3469720b95.
Type: fix
Change-Id: I6ef84f646372270ded486eacee81817067e49106
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Klement Sekera [Thu, 25 Mar 2021 14:39:15 +0000 (15:39 +0100)]
nat: add thread index assertions
Add extra assertions to debug build.
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ib20130365e8f9dbb556fcbb4321dd184c7eff603
Florin Coras [Mon, 24 May 2021 15:58:15 +0000 (08:58 -0700)]
api: socket client connect set to blocking
Binary api client must otherwise check the returned error and if it was
EAGAIN/EINPROGRESS poll for connect completion.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I89845b1a59b9fa2ab0968029435ceb203bfa8f6c
Ray Kinsella [Tue, 25 May 2021 14:55:30 +0000 (15:55 +0100)]
vlib: revert exec cmd handle scripts with blank lines
This reverts commit
269e1569e1f7798bf7d7f539daf505b2f1997a08.
Type: fix
Change-Id: I40bd71ae3b5e9dc8345fb2460aae437de8a9a5ba
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Ray Kinsella [Fri, 21 May 2021 15:17:39 +0000 (16:17 +0100)]
perfmon: revert raw column support
Revert raw column from the perfmon plugin.
Type: refactor
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: If127f57ee2022cc1c0ea5177f1655a792f195f1d
Damjan Marion [Tue, 25 May 2021 16:29:24 +0000 (18:29 +0200)]
tests: move vapi C/C++ test files into src/
Type: improvement
Change-Id: Iaad004661db1e9076e6c27227878f1612fa7289f
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Thu, 7 Jan 2021 01:35:17 +0000 (17:35 -0800)]
srtp: basic implementation based on libsrtp2
Type: feature
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic5e99938a5f130e83de6d590d2f89252d055bceb
Neale Ranns [Fri, 21 May 2021 09:47:08 +0000 (09:47 +0000)]
linux-cp: A V2 variant of pair create API that returns the host
interface created
Type: improvement
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I31a83cd50513078895078bae3ae11372d351ddcd
Matthew Smith [Thu, 13 May 2021 16:11:33 +0000 (11:11 -0500)]
nat: report correct EI per-user session limit
Type: fix
When enabling the endpoint independent NAT44 plugin, user_sessions
determines the maximum number of translations that can be active for
a single inside address. If 0 is passed in, a default value is used
but 0 is still stored in the field that is used to populate reply
messages to nat44_ei_show_running_config,
At the time of enabling the plugin, if user_sessions is 0, update the
field which is used by nat44_ei_show_running_config to contain the
default per-user limit which gets used by the EI nodes.
Change-Id: I6b060d85bcd42d91db879b95a8b07c6844bcd2a5
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Mohammed Hawari [Mon, 24 May 2021 13:14:02 +0000 (15:14 +0200)]
dpdk: disable DPDK iAVF interrupt support
Change-Id: I665d9d11fcdd9af33e38972a74e51ce3085f3e55
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Damjan Marion [Sat, 22 May 2021 10:13:48 +0000 (12:13 +0200)]
interface: show if tx queue is shared
Type: improvement
Change-Id: Idb48f835730db6c652c4b0e6ef310c7f36599a72
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Wallace [Mon, 24 May 2021 15:30:49 +0000 (11:30 -0400)]
tests: skip hoststack iperf3 cut thru test on aarch64
- Temporary fix for intermittent unrelated test failure
on AARCH64 CI verify/merge jobs. To be reverted
when the root cause is fixed.
Type: test
Change-Id: Ie28e5a7b9fa9a20469ac7e91766f4c226e44d244
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Sat, 22 May 2021 01:26:30 +0000 (18:26 -0700)]
tls: prealloc chunks for dtls dgram enq
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib25598f72f6539c07de1acee1e6049ecd28f35cc
Florin Coras [Fri, 21 May 2021 22:48:18 +0000 (15:48 -0700)]
session: improve main thread connects rpc
Avoid grabbing the worker barrier if there's no work to be done.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ice3de5df41cd1752aba3419ad2e2dd82f30e9bfb
Ole Troan [Fri, 14 May 2021 12:00:50 +0000 (14:00 +0200)]
stats: catch stat segment overrun in retry loop
Raise IOError so that the blocking code retries not only on
optimistic locking failures but also on data segment illegal reads.
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I6bb250e239486b60192004271c1690e790513318
Benoît Ganne [Wed, 19 May 2021 14:41:03 +0000 (16:41 +0200)]
af_xdp: use desc offset on rx
Instead of pre-programming the data offset on rx, use offset passed in
the descriptor. This is more robust and future-proof.
Type: fix
Change-Id: I2bd910d92b8b03d17be5be85a24108be711dc7b9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Tue, 11 May 2021 11:19:56 +0000 (13:19 +0200)]
af_xdp: refill rx rings when interface goes up
If interrupt mode is configured through startup.conf exec script, the
input function will not be polled and the rx ring will never be filled.
Always refill the ring when interface goes up so it is ready to receive
packets.
Type: fix
Change-Id: I4cf22c8ae00638679f2e8650303a6fe916c1319b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Klement Sekera [Tue, 20 Apr 2021 17:21:36 +0000 (19:21 +0200)]
bfd: use vnet crypto
Type: improvement
Change-Id: I873a99c1258a97ed5ed195b9756e8302f865e7f0
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Benoît Ganne [Thu, 29 Apr 2021 16:24:24 +0000 (18:24 +0200)]
af_xdp: workaround kernel race between poll() and sendmsg()
Prior to Linux 5.6 there is a race condition between poll() and
sendmsg() in the kernel. This patch protects the syscalls with a lock
to prevent it, unless the NO_SYSCALL_LOCK flag is set at create time.
See
https://lore.kernel.org/bpf/BYAPR11MB365382C5DB1E5FCC53242609C1549@BYAPR11MB3653.namprd11.prod.outlook.com/
Type: fix
Change-Id: Ie7d4f5cb41f697b11a09b6046e54d190430d76df
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Ole Troan [Tue, 18 May 2021 13:05:23 +0000 (15:05 +0200)]
nat: add maximum configured sessions to stat segment
Add /nat44-ed/max-cfg-sessions gauge.
Reflects the configured value for configured sessions (per thread).
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I618c8aa0daab0981399cfe9273d191fa1990ef60
Signed-off-by: Ole Troan <ot@cisco.com>
Dave Wallace [Thu, 13 May 2021 22:00:23 +0000 (18:00 -0400)]
doxygen: fix doxygen tags
- Missing tags mess up doxygen TOC heirarchy
Type: docs
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I012d55c0ae90aecc665b56903f4212ddc0643943
Dave Wallace [Thu, 20 May 2021 18:01:51 +0000 (14:01 -0400)]
tests: add role to VCLAppWorker
- Improve readability of log output with respect
to worker role
Type: test
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I1a5787421b31483fa1a2558951568417dfc111d9
Matthew Smith [Thu, 6 May 2021 18:16:42 +0000 (13:16 -0500)]
linux-cp: Add delegate to adjacencies
Type: improvement
When an adjacency is created, add the linux-cp delegate on the new
adjacency so we can later deal with modifications & deletions in our
cache of adjacency data.
Add a pool of hash keys and associate the pool index for a particular
key with the adj_delegate_t. If the rewrite on an adjacency is changed,
this will allow us to delete the old hash table entry and it will not
become orphaned.
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I072b960c02cf377d66f7d18b8c0e9e05824a0ca3
Florin Coras [Tue, 18 May 2021 07:35:50 +0000 (00:35 -0700)]
quic: add extended vcl test
Only works with release binaries.
Type: test
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iede88713e1dbc4d1c6ae62651ff9150f88953f4d
Florin Coras [Thu, 20 May 2021 21:01:11 +0000 (14:01 -0700)]
quic: fix timer update
Use ctx timer wheel not current thread since connects are done on main
but the ctx is allocated on first worker.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibed371bed12970d0d1ae4572f36df0bb1fb70b0f
Florin Coras [Thu, 20 May 2021 20:56:29 +0000 (13:56 -0700)]
quic: init crypto context on streams
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I901980f1f8ae8eb51c3972537ccac80f620868d0
Florin Coras [Thu, 20 May 2021 20:48:33 +0000 (13:48 -0700)]
quic: make sure aead crypto context matches quicly
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8003198c15cd511750dc7eaae025025c733c059c
Neale Ranns [Thu, 20 May 2021 16:03:59 +0000 (16:03 +0000)]
ipsec: Default the IPSec interface MTU to 9000
Type: fix
The same value is used for other tunnel types.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I6593001918993d65f127cc9f716c95e932239842
Tianyu Li [Tue, 18 May 2021 14:19:26 +0000 (22:19 +0800)]
memif: fix gcc-10 build error on arm platform
In function ‘memcpy’,
inlined from ‘memif_device_input_zc_inline’
at src/plugins/memif/node.c:850:7,
string_fortified.h:34:10: error:
writing 16 bytes into a region of size 0 [-Werror=stringop-overflow=]
34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/plugins/memif/node.c: In function ‘memif_input_node_fn_neoversen1’:
src/plugins/memif/memif.h:175:16: note:
at offset 0 to object ‘desc’ with size 0 declared here
175 | memif_desc_t desc[0];
| ^~~~
Using C99 way empty brackets for flexible array members
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I7a6ad89f95e1b5e3f9aac36546a2559dbda9bd6c
Tianyu Li [Wed, 19 May 2021 06:45:58 +0000 (14:45 +0800)]
memif: fix input node buffer prefetch
Prefetch should be the next group of buffers instead of current buffers
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: If13967e27f74c10856ae48892420d7ade6f0c92c
Dave Wallace [Tue, 18 May 2021 21:12:16 +0000 (17:12 -0400)]
tests: don't buffer worker stdin/stdout
- Required to get VCLAppWorker stdin / stdout data
into log.txt when a test fails.
Type: test
Change-Id: I4db467986940f701750aec6d842a4d9aee22b4e6
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Thu, 20 May 2021 01:47:00 +0000 (21:47 -0400)]
bash: add set-quicly-ws function
- Set up vpp workspace to build/test/debug with
quicly source code downloaded from github.
Type: improvement
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I63a3f3b19f3b753fca1d57f8b22dad7c4e968846
Damjan Marion [Thu, 20 May 2021 13:23:50 +0000 (15:23 +0200)]
build: add .clang-tidy
Initial version
Type: make
Change-Id: Id26827e7812f794da3f17b91f78d2550e4800083
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matthew Smith [Fri, 14 May 2021 22:00:15 +0000 (17:00 -0500)]
gre: Walk IPv6 adjacencies during restack
Type: fix
If a GRE tunnel is created and the peer is not resolved yet and an
IPv6 route is added which points to the tunnel, packets matching the
route will be dropped. When the tunnel peer is resolved, adjacencies
on the tunnel interface should be restacked and packets matching the
route can be encapsulated and sent..
There is a loop that is intended to do this for both IPv4 and IPv6.
The call to walk adjacencies is invoked in a "return" statement though.
So the loop is exited and the function returns before IPv6 adjacencies
are walked.
Remove the return so the loop finishes.
Change-Id: Ia4f695681713020209ea490ae4142857cea49c41
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Florin Coras [Wed, 19 May 2021 02:33:00 +0000 (19:33 -0700)]
hsa: test server incremental stats
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie8ec924ebaf006f1df84a1013050114831144a79
Florin Coras [Thu, 20 May 2021 02:28:40 +0000 (19:28 -0700)]
tls svm: prealloc tcp fifo chunks before ssl write
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7c47b55ec6f0c83f2d13e0e737d0559a32f7c837
Florin Coras [Thu, 20 May 2021 02:33:19 +0000 (19:33 -0700)]
session: fix transport half-open cleanup call
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I47d241a8f2f9e9d0761d14dcddd3327c3b28932c
Florin Coras [Thu, 20 May 2021 01:33:04 +0000 (18:33 -0700)]
tls: fix signed unsigned comparison
On error, the signed value is cast to unsigned.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0f94422f47e40d7c358118b2df8ab96cf4116dd0
Dave Wallace [Wed, 19 May 2021 21:01:55 +0000 (17:01 -0400)]
bash: fix vpp-make-test -g option
- Don't pollute shell with local variables
which also fixes a bug with -g option
- If WS_ROOT is not set and vpp-make-test is
invoked in the vpp root dir, then export
WS_ROOT env var
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I608b666f7d3020863933a8072fb34e65c7f1c988
Dave Wallace [Wed, 19 May 2021 20:37:58 +0000 (16:37 -0400)]
quic: fix memory leak & crash on connection delete
- quicly conn struct leaked on connection delete
- Occasionally connection delete is called twice
before connection is closed which caused a crash.
Type: fix
Change-Id: Ifaaaeda55f71d58c97fa4d6652bda60a3efd4b69
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Tue, 18 May 2021 02:09:33 +0000 (19:09 -0700)]
session: cleanup event llist usage
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I750c856ac81d951e8c0e62c710e0f35a0c80d6f9
Damjan Marion [Fri, 14 May 2021 16:05:13 +0000 (18:05 +0200)]
memif: remove dead code
Type: fix
Change-Id: I6fce8c1f91fc5080271c1832bf40a9fb6bbcb7e3
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 17 Jun 2019 18:25:54 +0000 (20:25 +0200)]
avf: improve elogs
Change-Id: I6221e1a5924223865b3caf53590d3668965b564c
Type: fix
Fixes:
b4ff07a
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 18 May 2021 01:16:44 +0000 (18:16 -0700)]
vppinfra: add more llist macros
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ife79871c6530d2cd485928fee465baf2c8957e11
Florin Coras [Wed, 19 May 2021 14:58:49 +0000 (07:58 -0700)]
session: fix session queue node access on disable
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie4e3623e7e00456437fac5fb8f9c9083f1aa2a2e
Damjan Marion [Wed, 19 May 2021 13:13:40 +0000 (15:13 +0200)]
build: fix crypto_native compile flags check
Type: fix
Change-Id: I338036a3cac74fd5f9772bcf7685ee6970653ddb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 19 May 2021 09:18:20 +0000 (11:18 +0200)]
interface: shared tx queue support
Type: improvement
Change-Id: I6bb7b6d6bd63b044952ab981be5b0673144c9834
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 19 May 2021 09:00:00 +0000 (11:00 +0200)]
avf: tx queue sharing fixes and improvements
Type: fix
Change-Id: I16b6720174efd98c19751e0fff36df58968484d2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 19 May 2021 08:35:10 +0000 (10:35 +0200)]
avf: print stats in separate log class
Type: improvement
Change-Id: Ia1a4b1b1acad989cbd47a805b900160ba0071071
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 18 May 2021 07:28:59 +0000 (00:28 -0700)]
tls: fix dtls with no workers
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iecc33fda7f28c037289775ffe0525a50f89a2b8c
Florin Coras [Sun, 16 May 2021 17:58:53 +0000 (10:58 -0700)]
session: poll main thread if pending connects
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie8a15c50531f3ccd5f91dbc0779e4d9c0d146844
Klement Sekera [Mon, 17 May 2021 11:17:56 +0000 (13:17 +0200)]
nat: refactor multiple vrf tests
Replace VRF test testing multiple scenarios into more simpler tests to
improve readability and ease of debugging.
Type: refactor
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ibaad5328c73b401f52c5fe513dc0ed68ff3e3374
Florin Coras [Mon, 17 May 2021 23:05:41 +0000 (16:05 -0700)]
session: only handle old ctrl events per dispatch
Avoids dispatching ctrl events generated while handling the
current pending list.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibeaf901ba4cf58a68fbd88e5ec3c23f6c2f6f145
Florin Coras [Tue, 18 May 2021 06:44:53 +0000 (23:44 -0700)]
session: move tx-buffers to tx ctx
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I10ec410fb7f3acb47128dda23510162dc13b20d0
Damjan Marion [Mon, 17 May 2021 16:36:54 +0000 (18:36 +0200)]
memif: remove unused code
Type: refactor
Change-Id: I127b8c7131fd993a5fe605c7c36cc1d0b6672984
Signed-off-by: Damjan Marion <damarion@cisco.com>
Andrew Yourtchenko [Mon, 17 May 2021 16:16:28 +0000 (16:16 +0000)]
build: fix the "show version" output in the centos release builds
A couple of releases ago I made a change that slightly changes
the naming of artifacts, in order to make the version sorting better.
However, that change broke the "show version" output of the VPP
in the RPM - that build copies the entire source tree into
a new location and builds there, supplying the version
information in .version file rather than using git describe.
Updating only the version script and not the .version file content
resulted in the VPP release builds within the RPM installs have
the "count of commits since tagging" being zero and the commit ID,
rather than having XX.YY-release format.
A couple of releases - 20.09 and 21.01, saw a more haphazard solution,
but it is proper to fix the content of the .version file so it
is all consistent.
This commit fixes the contents of this file made for the RPM build, so that
the versioning script does not see unexpected input, thus addressing
the issue of "show version" in the release build.
Change-Id: I0af68e69b1e40fc49ade759bb2f0ed9f47614217
Type: fix
Fixes:
1060332e62d1216bf33c697d0a54ba35d4903eb3
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Damjan Marion [Fri, 14 May 2021 23:38:18 +0000 (01:38 +0200)]
memif: remove duplicate code in tx
Type: refactor
Change-Id: Idb82e28ee2e370ae8fc1becc2f8b92a548bc6b1b
Signed-off-by: Damjan Marion <damarion@cisco.com>