vpp.git
10 months agomisc: VPP 23.06 Release Notes 37/39137/2 v23.06
Andrew Yourtchenko [Mon, 26 Jun 2023 11:50:58 +0000 (13:50 +0200)]
misc: VPP 23.06 Release Notes

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

10 months agosession: mark half-open transport closed on ntf 11/39111/1
Florin Coras [Tue, 20 Jun 2023 23:50:51 +0000 (16:50 -0700)]
session: mark half-open transport closed on ntf

Make sure half-open sessions are marked as transport closed once
connected notification is provided. This ensures that if they've been
scheduled for tx, the event is ignored.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8c44584e843d93365ec737ae4e1bcb74eba35506
(cherry picked from commit fb49e078164cd077f652358ad6cfdcda4bdfe73e)

10 months agoudp: fix local port reuse check 46/39046/2 v23.06-rc2
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
(cherry picked from commit d921b8988044f708318eb73a1fa883fce094a4d6)

10 months agovppapigen: fix crash with autoendian arrays 45/39045/2
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>
(cherry picked from commit 39c40fa349505b584472678318ef8548ab203aed)

10 months agotcp: cleanup next nodes and drop logic 37/39037/2
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

10 months agosvm: convert fifo want_deq_ntf ops to atomics 95/38995/2
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
(cherry picked from commit 81e3243c1b3d34705de7d09b8668a9a068c6af9e)

10 months agovcl: fix epoll ctl frequent deq ntf requests 91/38991/2
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
(cherry picked from commit 470d72f54abbd3e34053cc4f4e281593faf0fb77)

10 months agovcl: avoid duplicate tx events with epoll lt 90/38990/2
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
(cherry picked from commit acecd0d9c225d5f87f2a518854c7eb7af319ef96)

10 months agoudp: improve port validity check 86/38986/2
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>
(cherry picked from commit d52f80f422439227e98d9d26bf43394c69f8a7fd)

10 months agolinux-cp: Fix add vs update on routes 20/39020/2
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>
(cherry picked from commit af4fa965e909db69ecde9deb6b7f9a53553aeccb)

10 months agosession: cleanup cless listeners from session lookup 82/38982/2
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
(cherry picked from commit 645ac119e8f2602454050f5da6cafc4a22def7ff)

11 months agovcl: refactor want deq ntf checks for null fifos 83/38983/1
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
(cherry picked from commit 607eb203b1e954ac3f7ed82bd7bde3cf3aad60cf)

11 months agofib: fix memory leak in fib_attached_export_purge 76/38976/2
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>
(cherry picked from commit b269def5cba2058c49f58a7fef382e2fc068fdfd)

11 months agotls: fix memory leak when client/server init error 49/38949/1
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
(cherry picked from commit 4778164869395ec9efeeef31fc08f97b93cdff90)

11 months agomisc: Initial changes for stable/2306 branch 87/38787/1 v23.06-rc1
Andrew Yourtchenko [Wed, 24 May 2023 12:43:07 +0000 (12:43 +0000)]
misc: Initial changes for stable/2306 branch

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

11 months agomisc: VPP 23.02 Release Notes 84/38784/2
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)

11 months agovcl: avoid reusing user provided events in lt mode 62/38862/3
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

11 months agomisc: fix tracedump API to match CLI behavior 24/38624/6
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>
11 months agobufmon: ptd should be alloced in main thread 65/38865/1
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

11 months agoteib: fix nh-table-id 05/38305/6
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>
11 months agompls: implement state change callbacks 26/38826/5
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>
11 months agoip-neighbor: fix aged neighbor probe 52/38852/2
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>
11 months agohsa: add an option to configure ns in http cli 45/38845/2
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

11 months agohs-test: support for multiple workers 43/38743/8
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

11 months agotests: support for expected failures 72/38572/3
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>
11 months agotests: enhance counter comparison error message 42/38042/5
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>
11 months agomisc: long overdue update to maintainers file 53/38853/4
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>
11 months agotests: refactor extra_vpp_punt_config 41/38041/3
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

11 months agostats: fix memory leak in stat_segment_dump_r() 50/37750/4
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

11 months agofib: fix load-balance and replicate dpos buckets overflow 15/38315/6
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>
11 months agodpdk: fix compatibility with DPDK < 21.11 64/38064/4
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

11 months agotls: flag no app session on handshake failure 15/38815/3
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

11 months agodpdk: fix format device name using wrong index 78/38778/2
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>
11 months agovcl: set want deq flag earlier in epoll ctl mod 43/38843/3
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

11 months agovcl: always reset deq ntf flag in epoll evt handler 41/38841/4
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

11 months agointerface: add the transmit queue infrastructure document 77/38777/4
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

11 months agohsa: make http cli client thread safe 49/38849/1
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

11 months agohsa: detach app on unsuccessful listen 37/38837/2
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

11 months agovcl: avoid skipping last event in epoll lt 38/38838/1
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

11 months agoip_session_redirect: add session redirect plugin 55/33455/35
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>
11 months agodpdk: fix format rx/tx burst function name failed 15/38415/4
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

11 months agoethernet: fix adding p2p ethernet crash 68/38768/3
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

11 months agomemif: fix coverity warnings 66/38766/2
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

11 months agomisc: make format_hexdump length u32 94/38694/4
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>
11 months agoflow: fix wrong to use ntohl function to u64 type variable 27/38727/3
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>
11 months agovppinfra: add aarch64 support for format_ucontext_pc 38/38738/2
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

11 months agohsi: interop with ip reassembly 22/38822/4
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

11 months agopacketforge: add option to show spec and mask only 99/38499/6
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

11 months agoudp: improvements to connection format fn 23/38823/5
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

11 months agoip: allow overriding fib index in reass 24/38824/3
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

11 months agodpdk: Be wary of the return value from rte_eth_dev_socket_id 27/38827/2
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>
11 months agovcl: fix ldp ioctl FIONBIO handler 13/38813/3
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

11 months agogre: move to a plugin 48/38748/12
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>
11 months agovppapigen: support counters only .api 14/38814/1
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>
11 months agoapi: clean up error message 01/38801/2
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>
11 months agordma: bump version to 45.0 74/38774/1
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>
11 months agodpdk: bump to DPDK 23.03 72/38772/1
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

11 months agodpdk: code preparation for bumping to DPDK 23.03 71/38771/1
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

11 months agodpdk: correct build to include rdma driver 56/38756/2
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>
11 months agosession: cleanup ho lookup table on close 26/38526/6
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

12 months agordma: bump to 43.0 51/38751/2
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>
12 months agovcl: inherit connected flag on accepted cl sessions 41/38741/4
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

12 months agosession: update due to clib_socket refactoring 39/38739/3
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>
12 months agoapi: Mark old message versions as deprecated 45/38645/2
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

12 months agodpdk: bump to DPDK 22.11 37/38737/2
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

12 months agohs-test: add missing make target for .deps.ok 36/38736/1
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>
12 months agohs-test: remove untagged images after build 35/38735/1
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

12 months agobuild: plugin disable vat2 test2 plugin build 30/38730/2
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>
12 months agoip: change icmp4 throttle 23/38723/2
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>
12 months agocrypto-sw-scheduler: fix interrupt mode 19/38719/2
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>
12 months agovpp-swan: assign src/dst port in udp encap 79/38679/2
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

12 months agotests: fix parallel runs skipping some tests 84/38684/3
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>
12 months agotests: fix test-help formatting 85/38685/3
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>
12 months agotests: support multiple filter expressions 86/38686/3
Klement Sekera [Fri, 14 Apr 2023 15:44:04 +0000 (17:44 +0200)]
tests: support multiple filter expressions

Support multiple comma-delimited filter expressions,
e.g. to run both bfd and ip4 tests, it's now possible to do:

make test TEST=bfd,ip4

Same goes for wildcards, e.g.:

make test TEST=bfd,..test_longest_prefix_match,..test_icmp_error

Type: improvement
Change-Id: I0cceaa443cb612dca955f301c7407959f9a71a6e
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
12 months agoapi: Mark old message versions as deprecated 37/38637/2
Ondrej Fabry [Thu, 13 Apr 2023 06:33:38 +0000 (08:33 +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: I26d13a697c9b70a75555c04e925e9d6aaf7ed755

12 months agoperfmon: fix perfmon start type argument 06/38506/2
Maxime Peim [Thu, 16 Mar 2023 16:10:00 +0000 (16:10 +0000)]
perfmon: fix perfmon start type argument

When trying to start perfmon with a bundle that has a unique type while
specifying that type as argument, the command fails
(e.g. perfmon start bundle branch-mispred type node).
This error occurs because the returned value of
unformat_perfmon_active_type is actually a perfmon_bundle_type_t, but
it was treated as a perfmon_bundle_type_flag_t by a test in the CLI
function.

However, this test is useless and thus can just be removed.

Type: fix
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Change-Id: I5d8b9815871621e8ee7b935586f4cedbc0e7a53d

12 months agomemif: support dma option 77/38477/3
Marvin Liu [Tue, 14 Mar 2023 17:01:38 +0000 (01:01 +0800)]
memif: support dma option

Introduce async model into memif by utilizing new DMA API. Original
process is broken down to submission stage and completion stage. As
multiple submissions may in flight simultaneously, per thread data is
no longer safe, now replace thread data into each dma data structure.

As slave side already support zero copy mode, DMA option is only added
in master side.

Type: feature

Signed-off-by: Marvin Liu <yong.liu@intel.com>
Change-Id: I084f253866f5127cdc73b9a08c8ce73b091488f3

12 months agodpdk: code preparation for bumping to DPDK 22.11 28/38628/4
Xinyao Cai [Wed, 12 Apr 2023 10:35:23 +0000 (18:35 +0800)]
dpdk: code preparation for bumping to DPDK 22.11

This patch prepares code for bumping DPDK version to 22.11, but the DPDK version of this patch keeps at 22.07 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: I08787c6584bba66383fc0a784963f33171196910

12 months agobuild: correct variable name 34/38634/2
Koki Kiriyama [Sat, 15 Apr 2023 04:50:23 +0000 (13:50 +0900)]
build: correct variable name

Type: fix
Signed-off-by: Koki Kiriyama <kiriyama.kk@gmail.com>
Change-Id: I47c4c91aa6f973bd93dca352f470642e90aa70e0

12 months agohs-test: adjust performace testing parameters 26/38726/1
Filip Tehlar [Mon, 24 Apr 2023 15:52:50 +0000 (17:52 +0200)]
hs-test: adjust performace testing parameters

Apache ab sometimes fails during extensive performace testing.
This patch makes sure hs-test perf tests always pass.

Type: test

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

12 months agotcp: remove unused code 16/38716/2
Filip Tehlar [Fri, 21 Apr 2023 06:57:35 +0000 (08:57 +0200)]
tcp: remove unused code

Type: improvement

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

12 months agordma: fix rx CQ mask to calculate right next_cqe_index 56/38556/2
Jieqiang Wang [Wed, 22 Mar 2023 13:27:23 +0000 (21:27 +0800)]
rdma: fix rx CQ mask to calculate right next_cqe_index

Set the mask of calculating the next cqe index to the corresponding CQ
size instead of rxq size.

Type: fix
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Change-Id: I67494f029967af64051f51452eba1fd699984cd9

12 months agolb: improve formatting in lb_types.api 99/38699/2
Vratko Polak [Tue, 18 Apr 2023 13:18:51 +0000 (15:18 +0200)]
lb: improve formatting in lb_types.api

Type: style

Change-Id: I969bc72185d3675a35cf227c60bedca20e09fdf5
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
12 months agosession svm: fix mq cleanup 15/38715/2
Florin Coras [Thu, 20 Apr 2023 21:12:01 +0000 (14:12 -0700)]
session svm: fix mq cleanup

Type: fix

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

12 months agoapi: fix trace_plugin_msg_ids segv in trace dump 10/38710/2
Matthew Smith [Wed, 19 Apr 2023 20:02:25 +0000 (20:02 +0000)]
api: fix trace_plugin_msg_ids segv in trace dump

With 'api-trace { on }' in startup.conf, running 'api trace dump' in
vppctl was causing VPP to seg fault. vl_msg_print_trace() was calling
m->endian_handler() without checking whether its null.

Checking if its non-null prevents a crash, but the trace dump prints
the message IDs for trace_plugin_msg_ids in network byte order. There is
an auto-generated endian function for that message. Set it on the call
to vl_msg_api_config() for trace_plugin_msg_ids so the IDs will be
printed in host byte order in trace dump output.

Type: fix
Fixes: fe45f8f5

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I0ab463985e9a983155feba13ac4eb99ab883ace6

12 months agotcp: fix tcp packet trace 87/38687/5
Filip Tehlar [Mon, 17 Apr 2023 10:22:12 +0000 (12:22 +0200)]
tcp: fix tcp packet trace

Type: fix

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

12 months agosession: fix app_listener memory leak if session listen failed 03/38703/2
Xiaoming Jiang [Wed, 19 Apr 2023 08:41:29 +0000 (08:41 +0000)]
session: fix app_listener memory leak if session listen failed

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

12 months agolb: initialize lb_vip_add_args_t 98/38698/2
Vratko Polak [Tue, 18 Apr 2023 13:16:25 +0000 (15:16 +0200)]
lb: initialize lb_vip_add_args_t

Previously, .src_ip_sticky may have been left uninitialized.

Type: fix
Fixes: 613e6dc0bf928def5d337312d522e1a15df87b00

Change-Id: Ifd866d6322fe9ff723f92b7ab3fd77e720a3cfa4
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
12 months agovpp: install version.h 01/38701/2
Ole Troan [Tue, 18 Apr 2023 14:24:53 +0000 (16:24 +0200)]
vpp: install version.h

To make out of tree plugins require a particular version, they need
access to the version they are built with. Install version.h.

Type: fix
Change-Id: I5916d0a16aed7e054ede452af956fee56cd078f0
Signed-off-by: Ole Troan <ot@cisco.com>
12 months agohs-test: filter relevant data from perf tests output 95/38695/2
Filip Tehlar [Sat, 15 Apr 2023 18:41:18 +0000 (20:41 +0200)]
hs-test: filter relevant data from perf tests output

Type: test
Change-Id: I90faed91639ce1792646531cfc0cac649d737f16
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
12 months agovppinfra: Multiarch support for AMD EPYC processors 89/38689/3
Sivaprasad Tummala [Mon, 17 Apr 2023 12:05:15 +0000 (05:05 -0700)]
vppinfra: Multiarch support for AMD EPYC processors

Type: feature

- Added multiarch support for AMD Zen architectures

Change-Id: I65d3fe94b6cc622ebecbe1ac803efa674e87c87a
Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
12 months agovppinfra: missing static_always_inline in crc32c.h 92/38692/2
Damjan Marion [Mon, 17 Apr 2023 14:09:04 +0000 (14:09 +0000)]
vppinfra: missing static_always_inline in crc32c.h

Change-Id: Ie7ee71af7dbbc23de3f413423070ea87fb36ed8c
Type: fix
Signed-off-by: Damjan Marion <damarion@cisco.com>
12 months agovppinfra: SFENCE requires SSE2 to be enabled 93/38693/2
Damjan Marion [Mon, 17 Apr 2023 14:11:57 +0000 (14:11 +0000)]
vppinfra: SFENCE requires SSE2 to be enabled

Change-Id: I0469bb91107cf0acced3cd19820db8d3712701c0
Type: fix
Fixes: eaabe07
Signed-off-by: Damjan Marion <damarion@cisco.com>
12 months agovppinfra: add AMD EPYC cpu family details 91/38691/2
Sivaprasad Tummala [Mon, 17 Apr 2023 12:16:11 +0000 (05:16 -0700)]
vppinfra: add AMD EPYC cpu family details

Type: feature

- Added support for AMD EPYC processor family

Change-Id: I60da87cca429117c209d240e5a5f3b4d9f4981d8
Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
12 months agostats: check if stats vector entry is empty 45/38545/3
Ole Troan [Thu, 23 Mar 2023 21:09:51 +0000 (22:09 +0100)]
stats: check if stats vector entry is empty

When a stats entry is removed it is marked empty.
The stats client did not check for that and returned an empty string.
This resulted in blank lines in vpp_get_stats. Fix by returning null instead
and checking value.

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

12 months agovppinfra: native poly1305 implementation 30/38630/5
Damjan Marion [Wed, 12 Apr 2023 12:19:05 +0000 (12:19 +0000)]
vppinfra: native poly1305 implementation

Type: feature
Signed-off-by: Damjan Marion <damarion@cisco.com>
Change-Id: Ic170464d7c63f243e7e676567d41d800647ebec3

12 months agobuild: add scalar (no-simd) march variant 83/38683/2
Damjan Marion [Mon, 17 Apr 2023 09:38:11 +0000 (09:38 +0000)]
build: add scalar (no-simd) march variant

for testing purposes, disabled by default

Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Change-Id: Id616e2b3b21ae0f0b44e2b55ecefd501afacc7f2

12 months agovppinfra: table based crc32c for targets without crc32c instructions 82/38682/2
Damjan Marion [Mon, 17 Apr 2023 09:31:26 +0000 (09:31 +0000)]
vppinfra: table based crc32c for targets without crc32c instructions

Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Change-Id: I45cef390c72f2102c8c3d94f49bed7d0e0e0d7b2

12 months agovppinfra: add format_hexdump_u{16,32,64} 77/38677/2
Damjan Marion [Sun, 16 Apr 2023 11:12:22 +0000 (11:12 +0000)]
vppinfra: add format_hexdump_u{16,32,64}

Change-Id: I0eeccfc5739276d58a81a6552a043c6c105fe67a
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
12 months agobuild: few more .gitignore entries 29/38629/2
Damjan Marion [Wed, 12 Apr 2023 12:12:33 +0000 (12:12 +0000)]
build: few more .gitignore entries

Change-Id: I833151c077bf054de6b09fff1180570e32a1ecaa
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>