12837 Commits

Author SHA1 Message Date
Florin Coras
95f9567098 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)
2023-06-02 16:22:08 +00:00
Stanislav Zaikin
b4b65194e3 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)
2023-06-01 18:47:34 +00:00
Xiaoming Jiang
fc38603c01 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)
2023-05-30 16:57:53 +00:00
Andrew Yourtchenko
b60a6477eb misc: Initial changes for stable/2306 branch
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Iafcd930ec2e4eb069e30e1a187354d35fc9510b2
v23.06-rc1
2023-05-24 12:43:07 +00:00
Andrew Yourtchenko
380c62d704 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)
2023-05-24 07:00:40 +00:00
Florin Coras
db3fbfca51 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
2023-05-23 17:34:50 +00:00
Maxime Peim
02063b985a 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>
2023-05-23 11:40:29 +00:00
Xiaoming Jiang
eed42b0efa bufmon: ptd should be alloced in main thread
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I7f8c975fae5d71ce1226a8e19761fc75134e61e2
2023-05-23 09:18:06 +00:00
Stanislav Zaikin
51541247cb 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>
2023-05-22 10:49:54 +00:00
Adrian Pistol
ae48ffb503 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>
2023-05-21 23:07:48 +00:00
Sergio Gonzalez Monroy
06f1290703 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>
2023-05-21 23:06:41 +00:00
Filip Tehlar
f96b6c65fd hsa: add an option to configure ns in http cli
Type: feature

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ia81f1d8e706dbce9e57319d993bff595e6ba6f03
2023-05-20 17:04:29 +00:00
Filip Tehlar
608d0069d9 hs-test: support for multiple workers
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ie90e4b02c268bc3ca40171b03829f5686fb83162
2023-05-20 15:51:02 +00:00
Klement Sekera
47f3527108 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>
2023-05-20 02:34:14 +00:00
Klement Sekera
0157885517 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>
2023-05-20 02:33:57 +00:00
Sergio Gonzalez Monroy
6d6d9ed161 misc: long overdue update to maintainers file
Type: make

Change-Id: I2ee286985819974e02e34b8166c69ef7d767e47e
Signed-off-by: Sergio Gonzalez Monroy <monroy@anapaya.net>
2023-05-19 21:48:01 +00:00
Klement Sekera
d3e0d104ad 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
2023-05-19 21:29:39 +00:00
Duncan Eastoe
cf214cc600 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
2023-05-19 21:17:37 +00:00
Benoît Ganne
e211ac4886 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>
2023-05-19 21:14:52 +00:00
Andrew Ying
168bb1d55e dpdk: fix compatibility with DPDK < 21.11
Signed-off-by: Andrew Ying <hi@andrewying.com>
Type: fix
Change-Id: I3c428c90146387ad9ce291c7f646d74f06952b40
2023-05-19 20:56:15 +00:00
Florin Coras
d35c71c2f1 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
2023-05-19 20:46:06 +00:00
Daniel Ding
fc70a66456 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>
2023-05-19 19:53:08 +00:00
Florin Coras
bc4d5b0ace 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
2023-05-19 19:31:49 +00:00
Florin Coras
4817855115 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
2023-05-19 19:31:30 +00:00
Mohsin Kazmi
7869985758 interface: add the transmit queue infrastructure document
Type: docs

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I57f27f8ec4be7f3d8dc3d13ff4ea6b1b21c3cf6b
2023-05-19 19:08:17 +00:00
Filip Tehlar
84fd6493b3 hsa: make http cli client thread safe
Type: fix

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I9e6fd29c0e09406e48215f06977b2d4678650669
2023-05-19 12:54:18 +02:00
Filip Tehlar
4810e5b483 hsa: detach app on unsuccessful listen
Type: fix

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Idba74f880a251dbeec2205ee41e16b40d4799b06
2023-05-16 22:07:03 +00:00
Florin Coras
7ff7274c6b vcl: avoid skipping last event in epoll lt
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic89256d16230593b61a7b3e29582444fb3f93e4d
2023-05-16 13:05:28 -07:00
Benoît Ganne
83e73709c3 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>
2023-05-16 13:29:04 +00:00
Xiaoming Jiang
5b55526da4 dpdk: fix format rx/tx burst function name failed
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: I9971e69135e0652a36e4b4754774a43ea1d92e8b
2023-05-16 09:30:12 +00:00
Xiaoming Jiang
e10c524206 ethernet: fix adding p2p ethernet crash
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Ib0ca3379439d6ee23e696f8f0840e6ddf42430b8
2023-05-16 09:28:47 +00:00
Marvin Liu
754f79c36a memif: fix coverity warnings
Type: fix

Signed-off-by: Marvin Liu <yong.liu@intel.com>
Change-Id: Ie3f390be16df81f6824344034377f9a6f4fa9f92
2023-05-16 09:28:07 +00:00
Benoît Ganne
00c37199d7 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>
2023-05-16 09:27:41 +00:00
Yulong Pei
24d7e72aa5 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>
2023-05-16 09:27:16 +00:00
Tianyu Li
c405f755e3 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
2023-05-16 09:26:04 +00:00
Florin Coras
4add3f4c8b hsi: interop with ip reassembly
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8d3a1939870601297ecccf4cda6767510c2abfa5
2023-05-15 22:04:55 +00:00
Ting Xu
f34420ff11 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
2023-05-15 20:20:12 +00:00
Florin Coras
9794326125 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
2023-05-15 17:54:49 +00:00
Florin Coras
639beb91f6 ip: allow overriding fib index in reass
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic28da52b9c8286f71e472ef6c3afc23d464f85b0
2023-05-15 17:11:43 +00:00
Steven Luong
e77af765e2 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>
2023-05-15 04:58:40 +00:00
Florin Coras
4a0e08eb60 vcl: fix ldp ioctl FIONBIO handler
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ife5f72dc9587c9f6b8aa513cd039fa28bb22fca3
2023-05-12 23:59:38 +00:00
Chuhao Tang
cefb178aa4 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>
2023-05-12 06:59:09 +00:00
Ole Troan
683bdb6743 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>
2023-05-11 22:04:46 +02:00
Dave Wallace
0b7200f7ee 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>
2023-05-10 20:00:36 +00:00
Dave Wallace
0e8ec6468b 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>
2023-05-09 20:42:17 -04:00
Xinyao Cai
df6a00f581 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
2023-05-09 21:29:30 +08:00
Xinyao Cai
648006b3c0 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
2023-05-09 21:23:39 +08:00
Dave Wallace
4141ded3ec dpdk: correct build to include rdma driver
Type: fix

Change-Id: I23ef347adc97d7d806acf98c3dcdbe80f2a03441
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-05-04 13:46:46 +00:00
Florin Coras
c9fb987a9d 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
2023-05-04 11:57:27 +00:00
Alexander Kozyrev
6f83352822 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>
2023-05-01 20:53:51 +00:00