Piotr Bronowski [Fri, 9 Jun 2023 15:08:54 +0000 (15:08 +0000)]
dpdk-cryptodev: enq/deq scheme rework
This rework tries to address issues found on SPR QAT, for traffic
reaching max possible throughoutput for single QAT PF packet drops were
observed.
Fix changes enq/deq scheme by utilizing software ring in enq call from
VNET but enq and deq to QAT happens only in deq callback function what
should enable better utlization of hardware resources.
Type: improvement
Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com>
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I2e8c473d20a269fd5e93f0c8d1f8c8aa193712bd
Florin Coras [Wed, 14 Jun 2023 18:15:36 +0000 (11:15 -0700)]
vcl: no hup events in lt mode if session not epolled
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9f7dfe086bf7e11b7e0de7392f020c1052ba656a
Dave Wallace [Mon, 12 Jun 2023 20:33:55 +0000 (16:33 -0400)]
tests: Run interface tests as a regular test
Type: test
Change-Id: I5cf5a0e6437b274e565066f1012d7225c62b87a8
Signed-off-by: Naveen Joy <najoy@cisco.com>
Florin Coras [Wed, 14 Jun 2023 00:18:56 +0000 (17:18 -0700)]
vcl: fix debug logging of mapped segments
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I73034cdba51157466713884c3fbeae7054d92ad7
Shmuel Hazan [Tue, 13 Jun 2023 10:55:04 +0000 (13:55 +0300)]
af_xdp: linearize buffer chains before TX
The af_xdp plugin does not support chained buffers; attempting to send
chain buffers will result truncated packets or even send other packet's
data. As a workaround, turn any buffer chain into a single buffer before
tx.
Type: fix
Change-Id: I05dec912455eb2bb6c8122a28cd646f88983aa9a
Signed-off-by: Shmuel Hazan <shmuel.h@siklu.com>
Dave Wallace [Tue, 6 Jun 2023 16:05:30 +0000 (12:05 -0400)]
vppapigen: fix crash with autoendian arrays
Type: fix
Ticket: VPP-2078
Change-Id: I418269632bdfc823c5f0ba7652957277276d294d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Piotr Bronowski [Fri, 9 Jun 2023 14:22:40 +0000 (14:22 +0000)]
dpdk-cryptodev: introduce sw_ring
This patch introduces sw_ring. This ring is used in next set of patchas
and plays role of a buffer for QAT, allowing collecting frame elements
in case QAT queue is fully utilized, and assembling frame
from QAT dequeued elements.
Type: improvement
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com>
Change-Id: I20718e200986ab4dba5cbc31c05a904072a6981a
Artem Glazychev [Thu, 1 Jun 2023 04:18:13 +0000 (11:18 +0700)]
af_xdp: set frame_no_append flag
Make sure the same frame is not used for multiple interfaces, otherwise it breaks the ETH_INPUT_FRAME_F_SINGLE_SW_IF_IDX promise.
Type: fix
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I02546259ceaea36f65cb9f78b9b3ee45ed4075c9
Florin Coras [Fri, 9 Jun 2023 03:47:11 +0000 (20:47 -0700)]
tcp: cleanup next nodes and drop logic
TCP nodes consume the buffers so they have no nexts. To avoid long drop
path through vlib graph, add drop node.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe6e075e83612ed16270934398c6a013f236ae35
Florin Coras [Mon, 5 Jun 2023 21:58:15 +0000 (14:58 -0700)]
svm: convert fifo want_deq_ntf ops to atomics
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iba2e4de24ff0724e31859f5d2f4ffa3cfe2cf284
Filip Tehlar [Thu, 8 Jun 2023 16:30:37 +0000 (18:30 +0200)]
hs-test: increase test run timeout
Type: test
Change-Id: Ica211c79373777c3352d6ccbb619c0d67b70fa06
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Thu, 8 Jun 2023 15:39:39 +0000 (17:39 +0200)]
hs-test: rename address allocator
Type: test
Change-Id: I1745719315d4e0785df5a03aa4312f84c40cb18f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Mohammed Hawari [Wed, 7 Jun 2023 08:15:05 +0000 (10:15 +0200)]
misc: fix INFO.yaml mistakes
Change-Id: If4e7911788b6aab67672b7e7228ecbdb402a85d5
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Benoît Ganne [Thu, 2 Dec 2021 15:06:12 +0000 (16:06 +0100)]
af_xdp: make sure all packets are transmitted
AF_XDP socket will only tx enqueued packets up to a max batch size so
we need to retry until everything has been sent.
Type: fix
Change-Id: Ia487ab63d3e85a478471cd1d679c5fb471804ba3
Signed-off-by: Benoît Ganne <bganne@cisco.com>
gaoginskx [Mon, 7 Jun 2021 11:07:01 +0000 (12:07 +0100)]
crypto: use fixed crypto frame pool
The async frames pool may be resized once drained. This will cause 2 problems: original pool pointer is invalidated and pool size changed, both problems will confuse the crypto infra user graph nodes (like IPsec and Wireguard) and crypto engines if they expect the pool pointers always valid and the pool size never changed (for performance reason).
This patch introduces fixed size of the async frames pool. This helps zeroing surprise to the components shown above and avoiding segmentation fault when pool resizing happened. In addition, the crypto engine may take advantage of the feature to sync its own pool/vector with crypto infra.
Type: improvement
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I2a71783b90149fa376848b9c4f84ce8c6c034bef
Artem Glazychev [Mon, 5 Jun 2023 08:02:46 +0000 (15:02 +0700)]
af_xdp: remove the previous program before loading a new one
Otherwise, we will get an error. The program could remain from the previous run.
Type: fix
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I68e4072bd3b327592013804d67ccab7eb0ed3a0e
Florin Coras [Fri, 2 Jun 2023 04:50:03 +0000 (21:50 -0700)]
vcl: fix epoll ctl frequent deq ntf requests
SVM_FIFO_WANT_DEQ_NOTIF_IF_FULL should be treated as a
config option that is not frequently changed. Or alternatively, it
should be set together with SVM_FIFO_WANT_DEQ_NOTIF to elicit a one time
tx notification.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie4132c7789ee87227a875ff981eb98f9f4d898a9
Mohsin Kazmi [Mon, 5 Jun 2023 16:15:38 +0000 (16:15 +0000)]
misc: fix the license header
Type: style
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I6b3ecf0bdb6cfdf260cf4ccae89b6bc2335ff54c
Florin Coras [Mon, 5 Jun 2023 17:24:56 +0000 (10:24 -0700)]
vcl: avoid duplicate tx events with epoll lt
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic6436426ead561e47fb77ed9a95afbd85f2998ae
Benoît Ganne [Mon, 5 Jun 2023 08:02:29 +0000 (10:02 +0200)]
udp: improve port validity check
- do not allocate port sparse vector when only checking if a port is
already in use
- do not display port that have been unregistered by default
Type: improvement
Change-Id: I6cc94e35806dd8d415cd5d1c1c51e6b066ac26a1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Pim van Pelt [Sun, 21 May 2023 06:35:26 +0000 (08:35 +0200)]
linux-cp: Fix add vs update on routes
Linux uses NLM_F_REPLACE in the netlink message to signal a FIB update
The code invariably does a FIB update for IPv4 and a addition for IPv6.
Without this fix, the following:
ip route add 2001:db8::/48 via 2001:db8::1
ip route replace 2001:db8::/48 via 2001:db8::2
ends up as two separate FIB entries in VPP. With the fix, there will be one FIB entry (the second one with nexthop ::2).
Type: fix
Change-Id: I8f98d6ded52ae0c60bfddaa7fc39acbbaa19d34a
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Mohammed Hawari [Fri, 2 Jun 2023 13:10:32 +0000 (15:10 +0200)]
misc: update INFO.yaml
Change-Id: I55ea2c11148421aef8f891829671d88be171daa2
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Florin Coras [Mon, 29 May 2023 23:19:38 +0000 (16:19 -0700)]
vcl: refactor want deq ntf checks for null fifos
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5d0445ca381f1a4943bb2fe454433b3454043b56
Florin Coras [Thu, 1 Jun 2023 16:11:27 +0000 (09:11 -0700)]
session: cleanup cless listeners from session lookup
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I46b8194ff00c6a0a4a2bc19df9991f037856cede
Alexander Chernavin [Wed, 29 Mar 2023 16:09:37 +0000 (16:09 +0000)]
wireguard: add support for chained buffers
Type: feature
With this change, packets that are larger than a single buffer can fit
will be able to be sent and received over a Wireguard tunnel. Also,
cover this with tests.
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Ifaf7325676d728580097bc389b51a9be39e44d88
Ondrej Fabry [Wed, 26 Apr 2023 22:00:20 +0000 (00:00 +0200)]
api: nat44_ed - Mark old message versions as deprecated
List of changed messages:
- nat44_add_del_static_mapping
- nat44_user_session_dump
- nat44_user_session_details
- nat44_user_session_v2_dump
- nat44_user_session_v2_details
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I317ae93a0e763c3759a8c24fd550e1c97f6f4987
Filip Tehlar [Wed, 31 May 2023 10:26:59 +0000 (12:26 +0200)]
hs-test: fix vcl test parameter
Type: test
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ieb6e46439d8e66a792f9c508e7dc49ecdd392487
Xiaoming Jiang [Thu, 9 Mar 2023 02:03:50 +0000 (02:03 +0000)]
crypto: make crypto-dispatch node working in adaptive mode
This patch can make crypto dispatch node adaptively switching
between pooling and interrupt mode, and improve vpp overall
performance.
Type: improvement
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I845ed1d29ba9f3c507ea95a337f6dca7f8d6e24e
Stanislav Zaikin [Wed, 31 May 2023 12:30:44 +0000 (14:30 +0200)]
fib: fix memory leak in fib_attached_export_purge
Type: fix
Change-Id: I879594fcade4e081190e8dfb1dbcfc53e8431edf
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Maxime Peim [Fri, 26 May 2023 07:52:35 +0000 (07:52 +0000)]
misc: fix tracedump API
In some cases, in the trace dump v2 dump function, we iterate over the
client cache even though this one could be empty.
Type: fix
Change-Id: Ice5cefa25bb93dabe86fe565347cdc32faa674ac
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Mohsin Kazmi [Wed, 24 May 2023 11:25:39 +0000 (11:25 +0000)]
virtio: fix the packet buffering initialization order
Type: fix
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Idada695432d2bfac8808f35f1e8cd16f84d963c6
Mohsin Kazmi [Wed, 22 Jun 2022 12:25:51 +0000 (12:25 +0000)]
libmemif: add testing application
Type: test
This application creates two memif interfaces which connect
to an external application i.e. VPP.
Usage:
1) Start VPP with following config.
create interface memif id 0 master
create interface memif id 1 master
set int state memif0/0 up
set int state memif0/1 up
create packet-generator interface pg0
set int state pg0 up
create packet-generator interface pg1
set int state pg1 up
set int l2 xconn pg0 memif0/0
set int l2 xconn memif0/0 pg0
set int l2 xconn pg1 memif0/1
set int l2 xconn memif0/1 pg1
packet-generator new { \
name memif \
limit -1 \
node ethernet-input \
size 64-64 \
interface pg0 \
worker 0 \
data { \
IP4: 42:01:0a:00:00:0a -> 02:fe:4b:6e:4d:c1 \
UDP: 172.16.2.2 -> 172.16.0.2 \
UDP: 1234 -> 1234 \
length 30 checksum 0 incrementing 1 \
} \
}
2) Compile and Run the test_app in another terminal.
mkdir -p extras/libmemif/build
cd extras/libmemif/build
cmake ..
make
sudo ./examples/test_app
3) Run in VPP cli
vpp# packet enable
4) Run monitor to see the throughput and pps
vpp# monitor interface memif0/0
Or
vpp# monitor interface memif0/1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I4b9062fca8ad3020225adb7b1b09e5d66b1a7d48
Xiaoming Jiang [Fri, 5 May 2023 02:28:20 +0000 (02:28 +0000)]
ipsec: fix ipsec_set_next_index set with wrong sa index when async frame commit failed
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Ib4c61906a9cbb3eea1214394d164ecffb38fd36d
Damjan Marion [Fri, 26 May 2023 19:08:38 +0000 (19:08 +0000)]
vppinfra: add bit_extract_u32 and bit_extract_u64
Type: improvement
Change-Id: Icfaa856aa4b50ad5c6828f1690ce3fb6ba08ec00
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 26 May 2023 19:01:29 +0000 (19:01 +0000)]
vlib: add foreach_vlib_frame_bitmap_set_bit_index to .clang-format
Type: improvement
Change-Id: I6b999bcc6394bcc9325de1568dba98d1eb5a7b15
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 26 May 2023 19:06:10 +0000 (19:06 +0000)]
vlib: add vlib_log_is_enabled
Type: improvement
Change-Id: I052e0d56cc6d89cd66c83a9bb81e2273d396d510
Signed-off-by: Damjan Marion <damarion@cisco.com>
Alexander Chernavin [Fri, 19 May 2023 15:43:06 +0000 (15:43 +0000)]
linux-cp: update adjs for subifs too when mac changes
The plugin creates and manages adjacencies for the physical interface in
each interface pair (they are part of the x-connect feature). When a
link update notification is received from the host system, MAC address
of the corresponding physical interface is updated (as needed) as well
as previously created adjacencies for it (because a new rewrite string
needs to be generated).
Subinterfaces inherit MAC address from the parent interface. When MAC
address of the parent interface changes, it also implies MAC address
change for its subinterfaces. The problem is that this is currently not
considered in the plugin. After MAC address update on the parent
interface, packets sent from subinterfaces might have wrong source MAC
address. For example, IPv6 Neighbor Solicitation messages will be sent
with the wrong (previous) MAC address and neighbor discovery will fail.
With this fix, when the plugin updates adjacencies for a physical
interface, it will also update adjacencies for the subinterfaces with
existing interface pair.
Type: fix
Change-Id: Ia5f617197e33cb79b9b025c02c2c126c31a551ec
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Xiaoming Jiang [Fri, 26 May 2023 00:32:25 +0000 (00:32 +0000)]
tls: fix memory leak when client/server init error
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I484f3759b6c27052e08741398ec389729285f035
Florin Coras [Thu, 25 May 2023 19:04:53 +0000 (12:04 -0700)]
udp: fix local port reuse check
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I323946f7838507110c663f5a904399a74fc76691
Filip Tehlar [Mon, 22 May 2023 13:48:51 +0000 (15:48 +0200)]
hs-test: add vcl echo tests
Type: test
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I3e543cb292c7ed0f9d240f8f2473a1db07aff0fd
Mohsin Kazmi [Fri, 5 May 2023 11:09:31 +0000 (11:09 +0000)]
hash: add hash documentation
Type: docs
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I36764aa3c0e9657d228413aeafa0a54bbd755e49
Andrew Yourtchenko [Wed, 24 May 2023 11:06:58 +0000 (11:06 +0000)]
misc: Initial 23.10-rc0 commit
Type: docs
Change-Id: Id9b0ca0d43db0e5a52fd9696a5cba77a6772db5b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Tue, 21 Feb 2023 12:27:15 +0000 (12:27 +0000)]
misc: VPP 23.02 Release Notes
Type: docs
Change-Id: I88ae8452ed1b39a4c6d82b790f63f31deae4c2fa
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit
5516fc0f3bf50657446c4e68556c9f76ea2a43a4)
Florin Coras [Mon, 22 May 2023 16:19:57 +0000 (09:19 -0700)]
vcl: avoid reusing user provided events in lt mode
Epoll events might not have been cleared by user so always compute event
flags locally and assign to user provided epoll event.
Type: fix
Signed-off-by: Ping Yu <ping.yu@intel.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3b594a0fd7be345a0e0ad81d1d3636e9354cc15d
Maxime Peim [Tue, 11 Apr 2023 15:45:59 +0000 (15:45 +0000)]
misc: fix tracedump API to match CLI behavior
When dumping packets from multiple threads using the API, first all
packets from thread 0 are dumped then all ones from thread 1, etc
Until we reach the limit specified by the API call, so we could never
get packets trace from threads with higher ids.
However, the tracedump CLI dump a maximum number of packets from all
threads, which we can expect from the API to do.
We also add a trace_clear_cache API so the client gets an answer when
he only wants to clear its packet cache.
Type: improvement
Change-Id: I0d4df8f6210a298ac3f22cd651eb4d8f445e1034
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Xiaoming Jiang [Tue, 23 May 2023 09:16:58 +0000 (09:16 +0000)]
bufmon: ptd should be alloced in main thread
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I7f8c975fae5d71ce1226a8e19761fc75134e61e2
Stanislav Zaikin [Tue, 21 Feb 2023 08:26:41 +0000 (09:26 +0100)]
teib: fix nh-table-id
Peer fib index and nh fib index should be different when nh-table-id is
specified.
Type: fix
Change-Id: I4c8296adb5aeab1c0022bfc1046e9559331b79b2
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Adrian Pistol [Sat, 13 May 2023 22:00:41 +0000 (00:00 +0200)]
mpls: implement state change callbacks
There was already a basic type defined, but nothing more.
This implements callbacks similar to
ip4_enable_disable_interface_callback_t.
Type: feature
Change-Id: I34fcb146ca68af4eb8cdd244529eb149f884284d
Signed-off-by: Adrian Pistol <vifino@posteo.net>
Sergio Gonzalez Monroy [Wed, 3 May 2023 12:26:44 +0000 (14:26 +0200)]
ip-neighbor: fix aged neighbor probe
The order of the parameters when calling the ip_neighbor_probe_dst for
an aged neighbor is wrong and given that it runs on the master thread,
probes for IPv6 neighbors were never sent, leading to a certain neighbor
strike out and death and its removal from the neighbor cache.
Change-Id: Ic021bd0ece05bd2c1c6ab90eab0e2dc27cb10360
Type: fix
Fixes:
fd2417b2a42
Signed-off-by: Sergio Gonzalez Monroy <monroy@anapaya.net>
Filip Tehlar [Thu, 18 May 2023 08:38:11 +0000 (10:38 +0200)]
hsa: add an option to configure ns in http cli
Type: feature
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ia81f1d8e706dbce9e57319d993bff595e6ba6f03
Filip Tehlar [Fri, 28 Apr 2023 08:29:47 +0000 (10:29 +0200)]
hs-test: support for multiple workers
Type: test
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ie90e4b02c268bc3ca40171b03829f5686fb83162
Klement Sekera [Wed, 29 Mar 2023 14:04:58 +0000 (16:04 +0200)]
tests: support for expected failures
- Add support for @unittest.expectedFailure decorator.
Type: improvement
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Change-Id: I761751cda505e962225dc680b97c1fffa96f5176
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Klement Sekera [Thu, 26 Jan 2023 12:14:01 +0000 (13:14 +0100)]
tests: enhance counter comparison error message
- Make error message more human readable.
Type: improvement
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Change-Id: Iefc276b3a85ff82b927028a72bb91ed87ebd04ba
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Sergio Gonzalez Monroy [Fri, 19 May 2023 19:49:40 +0000 (21:49 +0200)]
misc: long overdue update to maintainers file
Type: make
Change-Id: I2ee286985819974e02e34b8166c69ef7d767e47e
Signed-off-by: Sergio Gonzalez Monroy <monroy@anapaya.net>
Klement Sekera [Thu, 26 Jan 2023 11:35:35 +0000 (12:35 +0100)]
tests: refactor extra_vpp_punt_config
Rename extra_vpp_punt_config to a more generic name extra_vpp_config to
better fit its purpose. It's fit for general use and already used that
way by quic and vcl tests anyway.
Type: refactor
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Change-Id: Ib0a5789b0dbb3a8c3cae654dea4e32ac5e56dd41
Duncan Eastoe [Wed, 30 Nov 2022 21:16:13 +0000 (21:16 +0000)]
stats: fix memory leak in stat_segment_dump_r()
The built stat_segment_data_t is leaked if stat_segment_access_end()
returns false.
Type: fix
Signed-off-by: Duncan Eastoe <duncan@graphiant.com>
Change-Id: I70adabbe7947d3e8a798cdfb3eaa14c683dce9da
Benoît Ganne [Tue, 21 Feb 2023 15:09:47 +0000 (16:09 +0100)]
fib: fix load-balance and replicate dpos buckets overflow
load-balance and replicate dpos both store their number of buckets as
u16, which can overflow if too many paths are configured. For
load-balance it can happens quite quickly because of weights
normalization.
Type: fix
Change-Id: I0c78c39fc3d40626dfc58b49e7d99d71f9852b50
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Andrew Ying [Fri, 27 Jan 2023 17:38:18 +0000 (17:38 +0000)]
dpdk: fix compatibility with DPDK < 21.11
Signed-off-by: Andrew Ying <hi@andrewying.com>
Type: fix
Change-Id: I3c428c90146387ad9ce291c7f646d74f06952b40
Florin Coras [Fri, 12 May 2023 00:40:26 +0000 (17:40 -0700)]
tls: flag no app session on handshake failure
If openssl tls server handshake fails, track the fact that the context
does not have an app session.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5f493059a3610067b59caffbbe441ce9e0868252
Daniel Ding [Mon, 8 May 2023 01:59:01 +0000 (09:59 +0800)]
dpdk: fix format device name using wrong index
When I setup vpp by netvsc driver, occurs the following crash:
(format_dpdk_device_name) assertion `(i) < vec_len (dm->devices)' fails
vnet[100166]: #6 0x00007f434d651f6a _clib_error + 0x2da
vnet[100166]: #7 0x00007f430b4bef64 format_dpdk_device_name + 0xf4
vnet[100166]: #8 0x00007f434d6555f3 do_percent + 0xee3
vnet[100166]: #9 0x00007f434d654359 va_format + 0xb9
vnet[100166]: #10 0x00007f434d7ac16e vlib_log + 0x3ce
vnet[100166]: #11 0x00007f430b49ebe3 dpdk_device_start + 0x193
vnet[100166]: #12 0x00007f430b4aa233 dpdk_interface_admin_up_down + 0x163
vnet[100166]: #13 0x00007f434d988fc8 vnet_sw_interface_set_flags_helper + 0x378
vnet[100166]: #14 0x00007f434d989338 vnet_sw_interface_set_flags + 0x48
This patch fix it by device_index as a index for devices vec, and not
dpdk port_id.
Type: fix
Change-Id: I84c46616d06117c9ae3b2c7d0473050f1b8ded5f
Signed-off-by: Daniel Ding <danieldin95@163.com>
Florin Coras [Thu, 18 May 2023 06:20:56 +0000 (23:20 -0700)]
vcl: set want deq flag earlier in epoll ctl mod
On epoll ctl mod, set want deq flag before checking if unhandled events
are needed.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id1491837c7156a66c21e0e45af60b04b1c18601c
Florin Coras [Thu, 18 May 2023 05:59:40 +0000 (22:59 -0700)]
vcl: always reset deq ntf flag in epoll evt handler
Reset deq notification flag even if session is no longer epolled.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4e9aed1849aa2817176f3a54ae41910df5e704a0
Mohsin Kazmi [Fri, 5 May 2023 12:32:59 +0000 (12:32 +0000)]
interface: add the transmit queue infrastructure document
Type: docs
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I57f27f8ec4be7f3d8dc3d13ff4ea6b1b21c3cf6b
Filip Tehlar [Fri, 19 May 2023 10:54:18 +0000 (12:54 +0200)]
hsa: make http cli client thread safe
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I9e6fd29c0e09406e48215f06977b2d4678650669
Filip Tehlar [Tue, 16 May 2023 13:32:17 +0000 (15:32 +0200)]
hsa: detach app on unsuccessful listen
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Idba74f880a251dbeec2205ee41e16b40d4799b06
Florin Coras [Tue, 16 May 2023 20:05:28 +0000 (13:05 -0700)]
vcl: avoid skipping last event in epoll lt
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic89256d16230593b61a7b3e29582444fb3f93e4d
Benoît Ganne [Tue, 10 Aug 2021 14:23:36 +0000 (16:23 +0200)]
ip_session_redirect: add session redirect plugin
This feature enables the use of the classifier and ip-in-out-acl nodes
to redirect matching sessions via arbitrary fib paths instead of relying
on additional VRFs.
Type: feature
Change-Id: Ia59d35481c2555aec96c806b62bf29671abb295a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Xiaoming Jiang [Wed, 8 Mar 2023 06:49:19 +0000 (06:49 +0000)]
dpdk: fix format rx/tx burst function name failed
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I9971e69135e0652a36e4b4754774a43ea1d92e8b
Xiaoming Jiang [Sat, 6 May 2023 08:22:08 +0000 (08:22 +0000)]
ethernet: fix adding p2p ethernet crash
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Ib0ca3379439d6ee23e696f8f0840e6ddf42430b8
Marvin Liu [Fri, 5 May 2023 15:03:46 +0000 (23:03 +0800)]
memif: fix coverity warnings
Type: fix
Signed-off-by: Marvin Liu <yong.liu@intel.com>
Change-Id: Ie3f390be16df81f6824344034377f9a6f4fa9f92
Benoît Ganne [Mon, 17 Apr 2023 12:50:00 +0000 (14:50 +0200)]
misc: make format_hexdump length u32
format_hexdump currently requires the length parameter to be uword
(64-bits) hence all callers must make sure to cast the length to uword.
Use u32 instead to benefit from C automatic integer promotion: any
length smaller or equal to u32 will be promoted to int fitting in u32).
Only callers using a length of u64 needs to downcast.
It also makes it similar to other variants.
Type: fix
Change-Id: I09b52fdde3970cec0be4150a29126ff63106c75b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Yulong Pei [Tue, 25 Apr 2023 11:15:14 +0000 (11:15 +0000)]
flow: fix wrong to use ntohl function to u64 type variable
This caused that failed to create flow rule with rss types.
Type: fix
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: I77696286a32804cbe884075cb027eec19eb5c7cb
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Tianyu Li [Mon, 17 Apr 2023 02:49:22 +0000 (02:49 +0000)]
vppinfra: add aarch64 support for format_ucontext_pc
Add the missing AArch64 support for printing program counter.
Type: improvement
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: Idb63737ed72e10fa29fd61e1eab5af059e2b8e28
Florin Coras [Fri, 12 May 2023 23:27:13 +0000 (16:27 -0700)]
hsi: interop with ip reassembly
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8d3a1939870601297ecccf4cda6767510c2abfa5
Ting Xu [Thu, 16 Mar 2023 01:22:33 +0000 (01:22 +0000)]
packetforge: add option to show spec and mask only
In some cases with Generic FLow, it is only required to show the pattern
of spec and mask, but no need to add the flow. Therefore, add an option
in packetforge so that users can show spec and mask only.
Type: improvement
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I7b3040689eb82d0b58924712ee6fc9cfa0a42fa1
Florin Coras [Fri, 12 May 2023 23:35:14 +0000 (16:35 -0700)]
udp: improvements to connection format fn
Print fib-index, next node index and opaque.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id2ff265c9acffc75f8b04fb9f26c6d571fc2ef98
Florin Coras [Fri, 12 May 2023 23:58:44 +0000 (16:58 -0700)]
ip: allow overriding fib index in reass
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic28da52b9c8286f71e472ef6c3afc23d464f85b0
Steven Luong [Mon, 15 May 2023 04:47:21 +0000 (21:47 -0700)]
dpdk: Be wary of the return value from rte_eth_dev_socket_id
Prior to dpdk-22.11, VPP can count on rte_eth_dev_socket_id to return
numa node 0 if the device didn't set it. Ever since below patch is
committed in dpdk
https://patchwork.dpdk.org/project/dpdk/patch/
20220929120512.480-1-olivier.matz@6wind.com/#152498
the aforementioned assumption is no longer true. If the device didn't
set the numa node, VPP gets -1 from the aforementioned API call. This
causes VPP to crash.
This fix is to set the numa node to 0 if the API returns -1, or SOCKET_ID_ANY
Type: fix
Change-Id: I2fde2870e5a3eb98473fe8d119fef594bfba9a8d
Signed-off-by: Steven Luong <sluong@cisco.com>
Florin Coras [Thu, 11 May 2023 18:45:34 +0000 (11:45 -0700)]
vcl: fix ldp ioctl FIONBIO handler
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ife5f72dc9587c9f6b8aa513cd039fa28bb22fca3
Chuhao Tang [Thu, 27 Apr 2023 13:43:42 +0000 (15:43 +0200)]
gre: move to a plugin
Move GRE folder under vnet to the plugin folder, and modify some of path
of the #inlude<header> to the new path.
Add a plugin.c file to register a plugin.
JIRA: VPP-2044
Type: improvement
Change-Id: I7f64cecd97538a7492e56a41558dab58281a9fa5
Signed-off-by: Chuhao Tang <nicotang@cisco.com>
Ole Troan [Thu, 11 May 2023 20:02:30 +0000 (22:02 +0200)]
vppapigen: support counters only .api
In some cases an .api file may contain only counter definitions.
If so do not generate the setup_msg functions.
Type: improvement
Change-Id: Idf89a7a5ab135428e9577726bc356acfd7c30113
Signed-off-by: Ole Troan <otroan@employees.org>
Dave Wallace [Wed, 10 May 2023 16:05:55 +0000 (12:05 -0400)]
api: clean up error message
- remove non-inclusive language in message and improve
clarity of the error message
Type: style
Change-Id: I3f4895d6a502c2583a8b6b3c325a3f30ced03f84
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Wed, 10 May 2023 00:42:17 +0000 (20:42 -0400)]
rdma: bump version to 45.0
- Update rdma-core library to 45.0 to work with DPDK 23.03
Type: feature
Change-Id: I6bd54c509b93de905e1b0194dce414e4a6e11990
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Xinyao Cai [Tue, 9 May 2023 13:29:30 +0000 (21:29 +0800)]
dpdk: bump to DPDK 23.03
This patch bumps DPDK version from 22.11 to 23.03.
Type: feature
Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I10203a6408ceb5a40fe392924130652b91ebc993
Xinyao Cai [Tue, 9 May 2023 13:23:39 +0000 (21:23 +0800)]
dpdk: code preparation for bumping to DPDK 23.03
This patch prepares code for bumping DPDK version to 23.03, but the DPDK version of this patch keeps at 22.11 for compatibility.
the "no-dsa" parameter in DPDK configuration is removed, the "blacklist" parameter can be used to block the related DSA devices.
Type: feature
Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I589afba165e85138437e731531414a033f64f8d3
Dave Wallace [Wed, 3 May 2023 21:25:37 +0000 (17:25 -0400)]
dpdk: correct build to include rdma driver
Type: fix
Change-Id: I23ef347adc97d7d806acf98c3dcdbe80f2a03441
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Mon, 20 Mar 2023 05:03:57 +0000 (22:03 -0700)]
session: cleanup ho lookup table on close
Make sure half-open table is cleaned up on close and cleanup of
half-open.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id7ad177f364d6395f7379dc927e449a40547510e
Alexander Kozyrev [Mon, 1 May 2023 17:36:21 +0000 (17:36 +0000)]
rdma: bump to 43.0
Update rdma-core library to 43.0 to work with DPDK 22.11.
Type: feature
Change-Id: Iad8bb9c7745dd5bc5f8c0935a31362fd92447ff6
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Florin Coras [Thu, 27 Apr 2023 20:38:35 +0000 (13:38 -0700)]
vcl: inherit connected flag on accepted cl sessions
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2d1976cb8061534a7e93d4dd2283abaf70a33f7c
Nathan Skrzypczak [Thu, 27 Apr 2023 10:43:46 +0000 (12:43 +0200)]
session: update due to clib_socket refactoring
After the clib_socket_init syntax changed, the behavior of VCL
socket creation was broken. This patch introduces app_namespace_add_del_v4
to address the behavioral change.
Type: refactor
Change-Id: Ice016bdb372233fd3317f166d45625e086e9b4df
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Ondrej Fabry [Wed, 26 Apr 2023 22:00:07 +0000 (00:00 +0200)]
api: Mark old message versions as deprecated
This change is part of VPP API cleanup initiative.
Type: refactor
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I9f0f786b50aa77383b16e0f844c85f236f7aa8d0
Xinyao Cai [Thu, 27 Apr 2023 01:29:44 +0000 (09:29 +0800)]
dpdk: bump to DPDK 22.11
This patch bumps DPDK version from 22.07 to 22.11.
Type: feature
Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: I82df2c0678e1cc1b3739a5b0677f0c4a4180a489
Dave Wallace [Wed, 26 Apr 2023 22:03:03 +0000 (18:03 -0400)]
hs-test: add missing make target for .deps.ok
Type: make
Change-Id: I8983778b4c2f5123b27aeeb1fdc4721c8e9c9160
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Filip Tehlar [Wed, 26 Apr 2023 16:03:35 +0000 (18:03 +0200)]
hs-test: remove untagged images after build
Type: test
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I55731fa546df01ac4bd327b444ac1a5c2052bed1
Ole Troan [Wed, 26 Apr 2023 08:08:59 +0000 (10:08 +0200)]
build: plugin disable vat2 test2 plugin build
A plugin can set "VAT_AUTO_TEST_ OFF" to disable building of the autogenerated
Type: improvement
Change-Id: I856fbfd83bbc5c7df0759e550b20ac75df77d9d7
Signed-off-by: Ole Troan <otroan@employees.org>
Ole Troan [Mon, 24 Apr 2023 14:02:44 +0000 (16:02 +0200)]
ip: change icmp4 throttle
traceroute sends 3 packets rapidly that triggers and depends on ICMP error
generation. The current ICMP4 throttle setting at 1-e3 throttles the last
ICMP error and makes traceroute sit in a timeout.
Type: fix
Change-Id: Ie886303600ad0374dcb6ae311e949154727a93d2
Signed-off-by: Ole Troan <otroan@employees.org>
Alexander Skorichenko [Mon, 24 Apr 2023 07:34:23 +0000 (09:34 +0200)]
crypto-sw-scheduler: fix interrupt mode
Type: fix
Currently sw_scheduler runs interchangeably over queues of one selected
type either ENCRYPT or DECRYPT. Then switches the type for the next run.
This works fine in polling mode as missed frames get processed on the
next run. In interrupt mode if all of the workers miss a frame on the
first run the interrupt flag is lowered so the frame remains pending in
queues waiting for another crypto event to raise the interrupt.
With this fix force sw_scheduler in interrupt mode check the second half
of the queues if the first pass returned no results. This guarantees a
pending frame gets into processing before interrupt is reset.
Change-Id: I7e91d125702336eba72c6a3abaeabcae010d396a
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
Gabriel Oginski [Mon, 17 Apr 2023 07:00:24 +0000 (07:00 +0000)]
vpp-swan: assign src/dst port in udp encap
This patch add in missing src/dst port assignment in SA for udp port
if encap.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I84219c016c5a32590aba0371c01ad8d44cbf4c5c
Klement Sekera [Fri, 14 Apr 2023 15:43:35 +0000 (17:43 +0200)]
tests: fix parallel runs skipping some tests
Fix corner case when a test would be skipped if it was not possible to
start it due to insufficient cpus available in the middle of the loop.
Type: fix
Change-Id: Ie4580685ff55688375d649d7009131d9fe1e4f33
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Klement Sekera [Fri, 14 Apr 2023 15:41:40 +0000 (17:41 +0200)]
tests: fix test-help formatting
Type: improvement
Change-Id: Ib7703359b998456bff88caee88c2734c7724bc09
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>