aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-06-03fib: set the value of the sw_if_index for DROP routeMohsin Kazmi2-2/+46
Type: fix fib_api_path_decode() is utilized by the IP route API call to translate the path from the API to the fib_route_path_t structure. The ip_route_add_del_handler_t function initializes the fib_route_path_t structure to zeros, consequently setting the sw_if_index value to 0, which is a valid value in VPP. Typically, the default VRF (Virtual Routing and Forwarding) has a local interface at index 0, leading to normal functionality. However, a custom VRF table without any interface will result in a crash. The issue arises because the DROP route in fib_api_path_decode() does not override the sw_if_index value with the one provided in vl_api_fib_path_t. Subsequently, when this sw_if_index is attempted to be resolved in the VRF table where the interface does not exist, it leads to a crash. This patch addresses the problem by setting the sw_if_index of fib_route_path_t to the sw_if_index value of the API path. To reproduce the issue, please remove the fix and run the following command: make test-debug TEST=test_ip4.TestIPv4RouteLookup.test_exact_match Change-Id: I5d72e91e5c701e749a92873941bee7b7b5eabd41 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2024-06-03hs-test: add libunwind dependency to nginx dockerfileAdrian Villin3-7/+2
- Libunwind was missing in Dockerfile.nginx, causing some tests to fail. Tests that were temporarily disabled because of that issue are now re-enabled. Type: test Change-Id: I3f544be483784e8a7a1f22737cafca615b9f836b Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-06-01vlib: clean up r2 plugin registration relocatorDave Barach1-9/+43
Thanks, Eliot! Type: fix Change-Id: I3737f62d08d5cd2db803af86285f9a2e456bab72 Signed-off-by: Dave Barach <vpp@barachs.net>
2024-05-31hs-test: temp skip some testsAdrian Villin2-1/+6
- Some tests are broken in the CI, skipping them for now Type: test Change-Id: I3d4efeee63b819956e5ffa1b3920e81962a2fcc9 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-31hs-test: container logging improvementsAdrian Villin3-19/+18
- Reduced the amount of error messages while obtaining container logs when a test fails by keeping track of started containers. NginxPerf tests still have those error messages, because wrk/ab containers shut themselves down before the test ends. Type: test Change-Id: I40a193345e5b46aec1834774f23aebc822eee885 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-31hs-test: add libunwind dependency to vpp dockerfileDave Wallace1-1/+1
- missing from https://gerrit.fd.io/r/c/vpp/+/40929 due to hst not running in CI yet. Type: fix Change-Id: Ib5d9b877725624ef7de9f2be5e517609aec7c5a1 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-30hs-test: added targets to makefiles to get coverage from HS testsadrianvillin4-6/+63
Type: make Change-Id: Iae7998692890264dfeea98c165617d0efa024d42 Signed-off-by: adrianvillin <avillin@cisco.com>
2024-05-30hs-test: set longer timeouts while debuggingAdrian Villin7-15/+24
Type: test Change-Id: I87baba7efa36dd40f086523b35bc6d3b0a26a1b5 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-30hs-test: pin CPUs to containersAdrian Villin8-39/+47
Type: test Change-Id: I412be2dec7ff352740e50e838e0ac466bf0a6674 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-29octeon: convert link speed from Mbps to KbpsMonendra Singh Kushwaha1-1/+2
Type: fix Fixes: 01fe7ab88e Change-Id: I88d03adcd4ef2a585ed77834b3bf8ef9d50b15c9 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-29vlib: stack trace and signal handler improvementsDamjan Marion13-2740/+295
- use libunwrap which seems to be industry standard - display traceback on console if running interactive or with syslog disabled (color output unless nocolor specified) - print hexdump of offending code - print library filename for each stack frame Type: improvement Change-Id: I61d3056251b87076be0578ccda300aa311c222ef Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-05-28http_static: sanitize path before file readMatus Fabian4-30/+122
Romove dot segments from requested target path before start reading file in file handler to prevent path traversal. Type: fix Change-Id: I3bdd3e9d7fffd33c9c8c608169c1dc73423b7078 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-28octeon: add support for Marvell Octeon9 SoCMonendra Singh Kushwaha6-4/+106
Type: feature Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com> Change-Id: I5db58b8ec41b45596bc03b4a336a184c17871294
2024-05-28octeon: fix lbk vf initializationMonendra Singh Kushwaha1-0/+1
Type: fix Fixes: 0a2fdc56 Change-Id: I5d232a86be66edeec8b740a883104f5a22516697 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-05-28urpf: export to use it externallyMaxime Peim5-22/+39
Type: improvement Change-Id: Ia70f16c92dfc153256db6dcdf23f5487d5a7b678 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-05-28urpf: node refactorMaxime Peim1-145/+179
Type: refactor Change-Id: Icb3c6cbe1425331c7a8a4b0dd583389f2257befa Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-05-24udp: fix csum computation when offload disabledFlorin Coras2-7/+32
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I11de9e1156420e0a37d637d8611bb3cf9788d699
2024-05-24ip6: fix icmp throttling error indexMaxime Peim1-1/+1
Type: fix Change-Id: I57ce42c193fd9408b9d4790482ea76d784148c30 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-05-24vlib: improvement to automatic core pinninghsandid2-0/+13
Type: feature If 'main-core' is not specified, the main thread is pinned by default to the cpu it is running on during initialization. This change does not impact manual core-pinning, which requires the 'main-core' argument e.g. 'cpu {main-core x corelist-workers n}. Change-Id: I874034591bf0acf4d71b231dfbbb0f6de8fe6060 Signed-off-by: hsandid <halsandi@cisco.com>
2024-05-23virtio: Add RX queue full statisiticsSteven Luong2-0/+11
In production network, often the host and the vm are managed by different groups. The host statistics may not be readily available to the folks who manage the VM. Having the RX queue full statistics in VPP can inform that there might possibly be drops in the host. Type: improvement Change-Id: I43206647ac0d8092968c4187236d9696ae0acccd Signed-off-by: Steven Luong <sluong@cisco.com>
2024-05-23hs-test: fix CPU alloc when running in parallelAdrian Villin7-28/+42
Type: test Change-Id: I6062eddffb938880d9ec004c8418a9a731891989 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-23vppinfra: support libunwind for backtraceGuillaume Solignac2-0/+13
On non-glibc systems, execinfo is the only option available, but the lib is old and can crash when unwinding. We now can use libunwind to unroll it instead of using execinfo.h. Type: improvement Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I8b55f7aca97261a2efb5dca998889d5e0645939a
2024-05-22vlib: prevent some signals from being executed on workersGuillaume Solignac1-0/+12
Before this commit, SIGINT, SIGHUP and SIGTERM could be executed on the workers. Since those signals don't stop execution, it meant that atexit handlers (like the `vl_unmap_shmem`) could run while the main thread was still running, which can cause race conditions. To avoid that, we prevent workers from handling those signals. Type: fix Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I27a87d96a027d7423ced881a614427af4ab0f969
2024-05-22misc: Initial 24.10-rc0 commitv24.10-rc0Andrew Yourtchenko2-2/+2
Type: docs Change-Id: If9cfc421a0769b68a8520e99c41c954db1973ca9 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-05-21session: remove ipv6 lookup threading assertBrian Morris1-1/+0
This makes session_lookup_connection_wt6 consistent with session_lookup_connection_wt4 - they both just return an error for wrong thread. Type: fix Change-Id: Ide38976e9a7274b53311e65711098e6b22a3f8d5 Signed-off-by: Brian Morris <bmorris2@cisco.com>
2024-05-20builtinurl: mark api as deprecatedMatus Fabian1-0/+1
Plugin will be removed since it is incorporated in http_static plugin for longer time. Type: refactor Change-Id: I6ed99d1b118fb5951aafceb05a953f39d325e87e Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-17hs-test: fixed timed out tests passing in the CIAdrian Villin3-33/+36
Type: test Change-Id: Id05ea56bc5dfd80d42b8600cf11e763e25420bd0 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-17http: ignore http_proxy env in testsMatus Fabian1-4/+19
Type: test Change-Id: I45a091a43e7ecb3f321fc9ecc761df2b44c9c351 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-17hs-test: updated api callsAdrian Villin5-47/+106
Type: test Change-Id: I2583ee74426ef154d03d4991b78ab57c5cec436f Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-15ip-neighbor: show age instead of time in cliMaxime Peim2-23/+24
To match the API behavior, and as it is more useful to have an entry age than its time last probe. Type: fix Change-Id: I07680cd713d0d2b6208a58208b032af7f6a92825 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-05-14http: fix unsupported client app methodMatus Fabian1-0/+7
HTTP client app code currently support only GET method but method set in message from client app was silently ignored. Type: fix Change-Id: I99dc6323d9783ee5a20623e7923cfdbf31474a4f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: notify client when connection failedMatus Fabian3-5/+29
Type: fix Change-Id: I87054e9667fe990d9a2dc3950bc3ce348460018a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: fix server sending all status codesMatus Fabian4-9/+84
Type: fix Change-Id: I4bc748e3091c2fbe0142d1b74d21a543a62c4ce0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14sr: move srmpls to a pluginScott Hutton15-36/+73
Move sr_mpls folder under vnet to the plugin folder, update cmake configuration and header paths, and add plugin.c to register plugin. JIRA: VPP-2054 Type: improvement Change-Id: I1ad6f287f67eb0c35588c339bcd51218fadf5f8e Signed-off-by: Scott Hutton <schutton@cisco.com>
2024-05-14marvell: remove uses of uintlajoskatona1-1/+1
This change changes all instances of `uint` to `unsigned int` to avoid use of the non-standard type. This fixes problems that some versions of GCC may have. For similar patch see: https://gerrit.fd.io/r/c/vpp/+/40762 Type: fix Change-Id: I0c666de788ac5b3c457e0a073e3e279f2fb99a4f Signed-off-by: lajoskatona <katonalala@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-14vppinfra: Add platform cpu and domain get for FreeBSDTom Jones1-1/+71
Type: improvement Change-Id: I5253f2b1b51493f2d4d0f451ad4c2208fd8f6bf2 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-14vppinfra: fix mhash oob after unset and add testsVladislav Grishenko5-7/+455
Fix out of buffer access after mhash_unset Add format mhash pair functions Add related mhash tests, similar to hash ones Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: Idbefd7d32c4cd16b55d84ad4006c38251b4e2c33
2024-05-14dpdk: Only prealloc huge pages on LinuxTom Jones1-1/+9
Type: improvement Change-Id: I4d9c0f96d81c8b510086a54990b3fcd3d5fdb695 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-14netmap: Reinstate and update netmap pluginTom Jones13-133/+134
Thet netmap plugin was moved to depreciated in commit 998b8fe. On FreeBSD netmap offers a natively supported kernel interface for userspace networking and enables VPP without the use of DPDK. Reinstate the netmap plugin and adapt it to the newer plugin interface. Type: improvement Change-Id: I113daa33a490f04cbb29909f9789fa66284ac80e Signed-off-by: Tom Jones <thj@freebsd.org>
2024-05-13http: fix user agent in requestMatus Fabian1-2/+7
App name is used in HTTP request User-Agent header. Type: fix Change-Id: Ib761e8a8e793e04e8d77141cc8c0f8514ed0e547 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-13vlib: avoid pci scan without registrationsVladimir Zhigulin1-6/+9
Type: improvement Signed-off-by: Vladimir Zhigulin <scripath96@gmail.com> Change-Id: Id1d78a36cec10a01fbf266b016ba364519e5cb66
2024-05-13dev: fix mac address dump in trace outputAlok Mishra1-1/+1
"port->attr.hw_addr" is set during the port initialization. It won't be updated if the mac address of the port is changed via the vpp command line. Use "port->primary_hw_addr" to dump the updated mac address correclty. Type: fix Fixes: 38c619115b Change-Id: I6c99fcfdfae67efb3606e17f36781c56716ff7ea Signed-off-by: Alok Mishra <almishra@marvell.com>
2024-05-13wireguard: use clib helpers for endiannessGuillaume Solignac2-6/+6
In some cases, the Linux helpers for endianness conversion are not present. We use clib helpers to fix this. Type: fix Signed-off-by: Guillaume Solignac <gsoligna@cisco.com> Change-Id: I4d21fb5edae6fa6413b10f298a84ff4b88bda5db Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-13nat: fix unitialized variableGuillaume Solignac1-1/+1
Fixes an unitialized variable. Type: fix Change-Id: I636dc8433679606262d9a974c01f81d8721634f2 Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
2024-05-13octeon: add support for mac address updateAlok Mishra1-0/+41
This patch adds support for updating primary hardware address on octeon port. Type: feature Change-Id: Ib0ff6aaa6dafc209eb71c44b8a6504d3df9aa5c8 Signed-off-by: Alok Mishra <almishra@marvell.com>
2024-05-10docs: Use newer Ubuntu LTS in tutorialElod Illes2-14/+9
The tutorial uses old 18.04 Bionic Ubuntu release, and tries to install vpp from packagecloud.io's bionic repository which does not exist. However newer ubuntu releases' repositories exist, so let's update to newer Ubuntu LTS version: 22.04 Jammy. Also, the ubuntu vagrant box is old, so let's replace it to a newer, generic/ubuntu2204, which uses libvirt provider (instead of virtualbox) and updated frequently, works well for the tutorial. Due to using libvirt provider, there is no need to customize the VM as those customizations are present in the box by default. The truested=yes part is removed from the apt source list command, as we add gpgkey anyway, thus, no need for this. Tutorial and vpp build tested with this new box and looks to be working fine. Type: docs Signed-off-by: Elod Illes <elod.illes@est.tech> Change-Id: Idcff693240fc6a1496a240e0d07c5ed43fe833e9
2024-05-10hs-test: logging improvementsAdrian Villin14-31/+125
Type: test Change-Id: Iffefe085e846b6ba614b0d74c4ba9907080a9a59 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-09http: fix client parse error handlingMatus Fabian1-10/+8
Do not return HTTP errors to server on parse errors in client. Type: fix Change-Id: Id3e99d69626855848faa87af73002d559d948516 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-09hs-test: add make test-debug targetMatus Fabian1-0/+10
Run tests on vpp debug build. Type: test Change-Id: I51e6f4ac9449c1c5b7eb649af91347188f9227e1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-08ethernet: check destination mac for L3 in ethernet-input nodeSteven Luong20-58/+90
When the NIC does not support mac filter, we rely on ethernet-input node to do the destination mac check, ie, when the interface is in L3, the mac address for the packet must be the mac address of the interface where the packet arrives. This works fine in ethernet-input node when all packets in the frame might have different interfaces, ie, ETH_INPUT_FRAME_F_SINGLE_SW_IF_ID is not set in the frame. However, when all packets are having the same interface, ETH_INPUT_FRAME_F_SINGLE_SW_IF_ID is set, ethernet-input node goes through the optimized routine eth_input_single_int -> eth_input_process_frame. That is where dmac check has a bug when all packets in the frame are either, ip4, ip6, or mpls without vlan tags. Because without vlan tags, the code handles all packets in fast path and ignores dmac check. With vlan tags, the code goes to slow path where dmac check is handled properly. The fix is to check if we have a bad dmac in the fast path and force the code to go to slow path which will handle dmac check properly. Also do a wholesale correction on all the testcases which do not use the proper dmac when sending L3 packets. Type: fix Change-Id: I73153a805cecdc24c4eefcc781676de04737ae2c Signed-off-by: Steven Luong <sluong@cisco.com>