summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-06-20ip6: fix ip6-michain trace functionMaxime Peim1-1/+1
Type: fix Change-Id: I3a5c04b14bf1156376e2acece69f8256d00f261a Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-06-19dpdk: xstats vecor stuck at 0 elementsOle Troan1-7/+19
Fixes: dd6fb60f1794fc08ec40598a67dc70f942c200d1 Type: fix Change-Id: I2429715a954361ceea969191493c15bef21e2040 Signed-off-by: Ole Troan <otroan@employees.org>
2024-06-19http: fix app name formatting in templateMatus Fabian1-2/+2
app name is vector without null termination Type: fix Change-Id: Iaa50770c84f23a71165d76a63c29b76e90006ac6 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-06-19build: vppapigen dependency handlingOle Troan2-4/+42
Add dependency generation to the vppapigen compiler, so that when an API file depends on another, that's registered as a dependency with the build system. Add a build dependency on vppapigen submodules so that all api files are regenerated if the compiler itself changes. Type: improvement Change-Id: I392853754129778ef15532d1b04813786b943b44 Signed-off-by: Ole Troan <otroan@employees.org>
2024-06-19fib: fix ip drop path crashesDmitry Valter1-0/+4
Do not mark drop paths as imported to avoid crashes on invalid table lookup. ``` vpp[8478]: /build/Vpp2310/source/src/vnet/fib/fib_table.c:35 (fib_table_get) assertion `! pool_is_free (ip4_main.fibs, _e)' fails #9 0x00007ff21785da1d in _clib_error () from /lib/x86_64-linux-gnu/libvppinfra.so.23.10 #10 0x00007ff218087698 in fib_table_get (index=4294967295, proto=FIB_PROTOCOL_IP4) at /build/Vpp2310/source/src/vnet/fib/fib_table.c:35 #11 0x00007ff218087a37 in fib_table_lookup_exact_match (fib_index=4294967295, prefix=0x7ff0eae0d354) at /build/Vpp2310/source/src/vnet/fib/fib_table.c:100 #12 0x00007ff2180bc938 in fib_attached_export_import (fib_entry=0x7ff0eceac3e0, export_fib=4294967295) at /build/Vpp2310/source/src/vnet/fib/fib_attached_export.c:264 #13 0x00007ff218098ade in fib_entry_post_flag_update_actions (fib_entry=0x7ff0eceac3e0, old_flags=FIB_ENTRY_FLAG_NONE, new_fib_index=4294967295) at /build/Vpp2310/source/src/vnet/fib/fib_entry.c:624 #14 0x00007ff218098b90 in fib_entry_post_install_actions (fib_entry=0x7ff0eceac3e0, source=FIB_SOURCE_API, old_flags=FIB_ENTRY_FLAG_NONE) at /build/Vpp2310/source/src/vnet/fib/fib_entry.c:674 #15 0x00007ff218098cce in fib_entry_create (fib_index=1, prefix=0x7ff0d3244d80, source=FIB_SOURCE_API, flags=FIB_ENTRY_FLAG_NONE, paths=0x7ff0eac15ab8) at /build/Vpp2310/source/src/vnet/fib/fib_entry.c:712 #16 0x00007ff218088db4 in fib_table_entry_update (fib_index=1, prefix=0x7ff0d3244d80, source=FIB_SOURCE_API, flags=FIB_ENTRY_FLAG_NONE, paths=0x7ff0eac15ab8) at /build/Vpp2310/source/src/vnet/fib/fib_table.c:799 #17 0x00007ff2180c026c in fib_api_route_add_del (is_add=1 '\001', is_multipath=0 '\000', fib_index=1, prefix=0x7ff0d3244d80, src=FIB_SOURCE_API, entry_flags=FIB_ENTRY_FLAG_NONE, rpaths=0x7ff0eac15ab8) at /build/Vpp2310/source/src/vnet/fib/fib_api.c:485 #18 0x00007ff217d4b6dd in ip_route_add_del_t_handler (mp=0x7ff0eb08b998, stats_index=0x7ff0d3244dc8) at /build/Vpp2310/source/src/vnet/ip/ip_api.c:718 #19 0x00007ff217d4b986 in vl_api_ip_route_add_del_t_handler (mp=0x7ff0eb08b998) at /build/Vpp2310/source/src/vnet/ip/ip_api.c:789 ``` Type: fix Fixes: 4b08632748727486e7ebfdcf4d992743595bc500 Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: I647899533771c35f44c9ecde517a30f111b36ad9
2024-06-18dpdk: expose xstats in stats segmentOle Troan3-12/+90
Expose DPDK xstats in the stat segment. Represented as a 2D array. Thread by sw_if_index. Each counter has the same name as the corresponding xstats counter, under /if/<driver-name>/<xstats-name> Type: improvement Change-Id: Icd34b46e2b4d708f1c9a7063d6afd4ced3dfa4f5 Signed-off-by: Ole Troan <otroan@employees.org>
2024-06-17vnet: move format_vl_api_address_union() from vpp to vnetBenoît Ganne4-16/+16
format_vl_api_address_union() is used by vnet, creating a linkage dependency from vnet to vpp. Type: fix Change-Id: I298a90d521e51b7527ef140d66130062824e1d16 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-06-17vppinfra: export os_exit and os_putsBenoît Ganne1-11/+4
os_exit() and os_puts() are not exported, preventing linkage with libvppinfra if those are not defined. Type: fix Change-Id: I7e3b583147e1348f078afeac3f793fe150405009 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-06-14tcp: make syn-rcvd timeout configurableFlorin Coras4-1/+9
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic89570315a5c3c00e0e89c5535929313916869eb
2024-06-14vapi: Add option to dispatch with timeoutDau Do2-8/+27
Type: improvement Change-Id: I606efc90d9b1b8e2a2590a8b4e0021e2508642b2 Signed-off-by: Dau Do <daudo@yahoo.com>
2024-06-14crypto-native: fix CPU detection for SHA2 codeDamjan Marion1-3/+15
Type: fix Fixes: 9f2799f Change-Id: Ib2b2df17507c536350ec92eeb1eea58f3a240c76 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-06-13vnet: export header files to build the pluginsDau Do1-0/+2
Type: improvement Change-Id: I86e8616a134829a66a9c9bb4313bbf95f835e7c0 Signed-off-by: Dau Do <daudo@yahoo.com>
2024-06-13http: return more than url to server appMatus Fabian9-163/+1133
Provide all bytes as received from transport as data in the http message to server. Additionally provide offset and length of target path, target query, headers and body. Offers apis for parsing of headers, percent decoding, target path/query syntax verification. Type: improvement Change-Id: Idbe6f13afa378650cc5212ea7d3f9319183ebbbe Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-06-12session: fix ho cleanup on forced resetFlorin Coras1-1/+2
Avoid double free if app forces reset while half-open is cleaning up. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2311fb763076aa8a263c193f5967793402eedb6a
2024-06-12session: fix ho cleanup on active and passive closeFlorin Coras1-2/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9e7011ff45f14e17fc0d0d63800184f404c29093
2024-06-12ipsec: move ah packet processing in the inline function ipsec_ah_packet_processvinay tripathi1-138/+157
This inline function is introduced to simplify code readability and consolidate AH packet processing in separate API. Type: improvement Change-Id: Id98074d00aba277fed714ea9995655c9e84ec83b Signed-off-by: vinay tripathi <vinayx.tripathi@intel.com>
2024-06-12ipsec: Add option to configure the hand-off worker queue sizeDau Do6-26/+34
Type: improvement Change-Id: I252951d3ec01497c049ca0ffb7cb42aaf2efb965 Signed-off-by: Dau Do <daudo@yahoo.com>
2024-06-12papi: more detailed packing error messageKlement Sekera1-4/+9
'struct.error: required argument is not an integer' is quite useless itself, so let's raise an error from it at least saying what was the thing getting packed Type: improvement Change-Id: Icb762fbab98446d1e1331315e6c337f789cbba95 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-06-11octeon: add clear counters for port and queuesMonendra Singh Kushwaha3-0/+48
Type: feature Change-Id: Ie36be41694e7bd5341b4239dcba2ae6834c4a73f Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-11dev: add port and queue counter clear operationMonendra Singh Kushwaha2-5/+18
Type: feature Change-Id: Ibd876c5251fc2f9d87816d235fff2de22be4b21c Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10quic: initialize ooo lookup on fifosFlorin Coras1-0/+10
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6a0493834c5b60bdb42865112c453157fdfeb87c
2024-06-10vlib: fix gdb_show_traces()Benoît Ganne2-36/+38
When using gdb_show_traces() in debug mode, don't assert if workers are not parked, as it is typically called from gdb. Type: fix Change-Id: Iabf175d96dc152da4d1abfbce9ccc9020d0b5d61 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-06-10octeon: add support for vnet generic flow typeSriram Vatala2-0/+392
This patch adds vnet generic flow type support in OCTEON plugin, which extends the existing vnet flow types supported. It allows users to configure additional match patterns like 802.1q tag fields, 802.1ad tag fields, MPLS fields, IP DSCP etc., if supported by the underlying hardware. On OCTEON various match patterns including user defined custom protocol types can be supported depending on the programmable classification profile. Generic flows operate based on hexadecimal strings representing packet data bytes and corresponding mask data bytes. The mask data bytes, with bits set to '1', selectively identify the data bytes used for hardware flow matching. To configure generic flow rules, packetforge tool is recommended which accepts inputs in a user readable and friendly format. This tool is available in VPP tree under `extras/packetforge`. Detailed instructions can be found in the documentation under `extras/packetforge`. Additionally user can use existing vnet flow CLI and binary API interfaces to configure rules manually. Type: feature Change-Id: I8198536cf1fe0a4719542a8b54c599230c7852e9 Signed-off-by: Sriram Vatala <svatala@marvell.com>
2024-06-10octeon: add counters support for port and queueMonendra Singh Kushwaha4-0/+322
Type: feature Change-Id: I5d52d78a93c7d0a12b9cee16fe7ebabdc2b19f0a Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10dev: fix counter_start in counter clear routineMonendra Singh Kushwaha1-1/+1
This patch fixes counter_start value, as it should hold the cumulative counter value whenever counter clear routine is called. Type: fix Fixes: 38c619115b Change-Id: I50bf8ddcde419caf1170dfacdea03ff3d93a3327 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10octeon: update trace to use qid instead of qMonendra Singh Kushwaha1-1/+1
This patch updates trace to use "qid" keywords instead of "q". Type: feature Change-Id: Ib0f41a8a1a93cbbbf8c59304924d4e68efff48fd Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-10octeon: enable vf device promiscuous mode featureHarish Malik1-1/+4
This patch enables promiscuous mode on vf devices except SDP vf and LBK devices Type: feature Change-Id: I2e18c63590f22f99c69500f10b42b64d899249ce Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com> Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-06-05buffers: support per-numa-domain buffer sizeLukas Stockner2-3/+46
Currently, buffers-per-numa is used for all NUMA domains, and there's no way to allocate different amounts for each domain. Therefore, this adds a per-NUMA-domain buffer config section, which currently has a single option to set the number of buffers. If it's not specified or set to zero, the code falls back to buffers-per-numa as before. Type: improvement Change-Id: If35d7a9eff6f8d1d78063ea7873dbf50780d0ec3 Signed-off-by: Lukas Stockner <lstockner@genesiscloud.com>
2024-06-04ipsec: fix missing udp port checkFan Zhang1-8/+7
Type: fix This patch fixes the missing UDP port check in IPsec NAT-T case. As of RFC3948 UDP encapped ESP traffic should have destination port ID of 4500, which was missing. The related tests are updated with this port ID, too. Change-Id: I73ecc6a93de8d0f4b642313b0f4d9c2f214a7790 Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
2024-06-03ip: add support for drop route through vpp CLIMohsin Kazmi2-1/+7
Type: improvement Change-Id: Ib822f36ff7b3ecda162fc99bf3892f912d0649f0 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2024-06-03fib: set the value of the sw_if_index for DROP routeMohsin Kazmi1-0/+1
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-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-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 Marion11-2739/+293
- 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 Fabian2-4/+75
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 Kushwaha5-2/+104
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-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-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-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 Fabian2-4/+14
Type: fix Change-Id: I87054e9667fe990d9a2dc3950bc3ce348460018a Signed-off-by: Matus Fabian <matfabia@cisco.com>