aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-02-26linux-cp: Add support for LACP packetsAkeel Ali7-26/+410
This patch adds support to mirror LACP packets between host and phy. It is needed for the Sonic-VPP project to support LAG and allow Sonic to run LACP in the control plane. The change has 3 parts: (1) Converted lip_punt_node to lip_punt_xc_inline, which now supports the creation of two distinct nodes: lip_punt_node and lip_punt_xc_node. lip_punt_node retains its original punt functionality. lip_punt_xc_node supports both punt and x-connect between host & phy. (2) Add 2 new API (and corresponding CLI) to the linux-cp plugin: (A) lcp_ethertype_enable ("lcp ethertype enable <ethertype>") (B) lcp_ethertype_get ("show lcp ethertype") (3) Add UT to test the new functionality and API/CLI for LACP and LLDP. Type: improvement Change-Id: Iab66e3b29351dcf2c471babd4f1ef4bdd19da46e Signed-off-by: Akeel Ali <akeelapi@gmail.com>
2025-02-25http_static: squash subsequent forward slashes in request target pathSemir Sionek4-10/+35
In the file handler, squash groups of forward slashes during path sanitation to minify the risk of running out of memory. Type: fix Change-Id: Ic29d691f876b891ff588157851334162b4e3c5e3 Signed-off-by: Semir Sionek <ssionek@cisco.com>
2025-02-25http: hpack headers decodingMatus Fabian5-23/+989
1) parsing of binary format (RFC7541 section 6) 2) simple dynamic table implementation 3) parsing of request header block Type: feature Change-Id: If43e175a0643f9731c15efc412a82345d9e33cee Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-25ping: Check only PING_RESPONSE_IP4 and PING_RESPONSE_IP6 eventsNikita Skrynnik1-6/+12
Check only PING_RESPONSE_IP4 and PING_RESPONSE_IP6 in ping binary API so it doesn't block other binary API requests while working. (current version of ping binary API can read other events like SOCKET_READ_EVENT, for example). Type: fix Change-Id: Ie7c5c92322af28633680c9c0d60fed739d4e65a0 Signed-off-by: Nikita Skrynnik <nikita.skrynnik@xored.com>
2025-02-25build: generate TAGS file for emacsNicolas PLANEL1-0/+6
Type: improvement Change-Id: I7915b674f22184deed6a63a6ed66193d216c65e4 Signed-off-by: Nicolas PLANEL <nplanel@cisco.com> Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
2025-02-25ipsec: coverity warning, issue CID 509068Piotr Bronowski1-5/+0
UNUSED_VALUE warning fixed. Type: fix Change-Id: Idd1f0fab96f252f2081d5c268ecc722223289477 Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
2025-02-25vxlan: move vxlan-gpe to a pluginlajoskatona29-82/+148
Move vxlan-gpe folder under vnet to the plugin folder, update cmake configuration and header paths, and add plugin.c to register plugin. JIRA: VPP-2059 Type: improvement Change-Id: I31b6d326276c4aa684fcdcf8443ef349f7816a6d Signed-off-by: lajoskatona <katonalala@gmail.com> Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
2025-02-24udp: fix cli for next node and opaqueFlorin Coras1-1/+2
Type: fix Change-Id: I77c2d8e64ed463b1c8e84e0fca8d79684a88714c Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-20session: trace all packets sourced by session layerFlorin Coras1-23/+23
Trace both packets generated by dispatching sessions and those that have been enqueued by other nodes, e.g., syns, fins, acks enqueued by tcp input and output. Because not all buffer sources know the session, remove for now the session index from the trace. Nonetheless, next node on path will print it, so no information is lost. Type: improvement Change-Id: Id69094fbf00e6bc8f98095e90cdf20e2b7f0aeda Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-20libmemif: Fixed strlcpy symbol detection.Alexander Slesarev5-14/+14
Type: fix libmemif can't be compiled with the modern glibc (since 2.38) and musl as they include strlcpy for _GNU_SOURCE by default now. The change introduced: - proper symbol detection for both strlcpy and memfd_create; - bumped CMake version requirements due to soon-to-be failed compilation for very old version; - fixed Unity compilation on the modern compilers (it has warnings, but compiled with `-Werror`). Change-Id: I48f9c410aa5405174dc6b65e9c9001e8b11ba276 Signed-off-by: Alexander Slesarev <aslesare@cisco.com>
2025-02-19vppinfra: bihash_vec8_8 set key in mark_freeMatus Fabian1-0/+1
When key not set to ~0 clib_bihash_key_compare_vec8_8 do not skip empty slot during search and we crash. Type: fix Change-Id: I48f510bceffcfb5e4851dd757cad055a6f7f12d0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-19http: hpack primitive typesMatus Fabian6-0/+1311
RFC7541 section 5, Huffman encoding included Type: feature Change-Id: I5a024f654610729b8f3f53734aa242bb4b5a25fe Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-18build: make clang the default compiler for build targetsDave Wallace3-12/+12
- fixes compiler version for hs-test and other CI jobs which default to CC=cc in make - not all build targets compile successfully with clang (e.g. libmemif, xdp-tools) which are hard-coded to use gcc for now Type: fix Change-Id: I505e67a08687f17fd4e26e1a3c236fb7c54ff49d Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2025-02-18ipsec: add tests for bypass/discard ipv6 policies and upd encapsulationPiotr Bronowski2-7/+166
Support for ipv6 policy mode bypass and discard policies has been introduced. Also ipsec traffic may be sent encapsulated in udp packages. With this change both types of policies are testeg together with udp encapsulation. Type: test Change-Id: I9ec0c5154af6f654143f9e5104f10311cda1a514 Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
2025-02-18ipsec: enable support for ipv6 udp ipsec encapsulation in policy modePiotr Bronowski1-32/+49
IPSec traffic may be sent encapsulated inside UDP packagaes. In case of esp packgaes decryption is required (according to defined policies), whereas IKE traffic should be bypassed (relevant policy needs to be defined). With this patch required behaviour is provided. Type: feature Change-Id: If99c7bf121db881c0bdf2b45e6fdca87c0d872a5 Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
2025-02-18ipsec: add support for bypass and discard policies for ipv6Piotr Bronowski1-120/+223
In case of ipv6 addresses spd did not support bypass and discard policies. This change introduces missing implementation in the same way as it was implemented for ipv4. Type: feature Change-Id: Idad974655b209d946414d7d85037d0783cde7db3 Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
2025-02-17sr: fix sr_policy fib tableArtem Glazychev1-2/+3
fib_table_get_flow_hash_config accepts fib_index, not fib_table. Type: fix Change-Id: I0372ca1b6caab4a34bc0590f9856d89deff6ee90 Signed-off-by: Artem Glazychev <glazychev@mts.ru>
2025-02-15ip: add support to preallocate poolsMohsin Kazmi8-2/+76
Type: improvement In certain use cases, the underlying pools expand by allocating a new, larger pool and copying the existing elements into it. This process can be time-consuming, leading to slower control plane configurations, especially when a large number of elements are already present. This patch allows users to pre-configure some of these pools through startup.conf. It also fixes alignment for ip4 mtrie. Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Signed-off-by: Benoît Ganne <bganne@cisco.com> Change-Id: Ib0f1d40e3efb8b4fce989219196c718d6834498a
2025-02-15build: use clang by default when using MakefileBenoît Ganne1-6/+5
Change https://gerrit.fd.io/r/c/vpp/+/42189 changed default compiler from clang to GCC as a side effect when using Makefile. Restore default behavior. Type: fix Fixes: b7a00271990b67458afd2e660f92ebf3ebb6f887 Change-Id: I3478fa7c5e2132486a4c3b9d8363c60ed81b0d43 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2025-02-14session: improve chained buffer enqueueFlorin Coras1-50/+58
Type: improvement Change-Id: I86497255cd2a73e37ae9be61dcce3a27199c552f Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-14tcp: improve exception checks for established connectionsFlorin Coras1-18/+39
Separate exception state checks, e.g., no connection or closed, from segment validation. Segments with no ack, rst, syn flag should not be received in established node. Still, leave the check in for now. Type: improvement Change-Id: I7ceb01d7133f3a571e18721b6e51ff79f533f8cb Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-13ipsec: better pack outbound SA runtime dataDamjan Marion1-5/+5
Type: improvement Change-Id: I9a0437dcfaf5e6930bb7fa057866ea36e7ca328f Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-13ipsec: keep inbound seq as u64Damjan Marion5-50/+46
Type: improvement Change-Id: I03f0b6137db6780f2c2935df90e98acf4bd471f9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-13ipsec: combine huge and normal anti-replay-window handlingDamjan Marion5-244/+120
Type: improvement Change-Id: Idfbaf56e3b56e77c8deaca9d3e41f7a78d8c4e0b Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-13ipsec: embed anti-replay bitmap in the runtime dataDamjan Marion3-65/+50
Type: improvement Change-Id: I753917c6d7e30b8d5e3291b85a7532a455ebc2bb Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-13ipsec: store anti_replay_window_size in runtime dataDamjan Marion4-55/+31
Type: improvement Change-Id: I0626af365855ad5301419e72e9430a47a5d0e5d7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-13vppinfra: add few uword_bitmap_* functionsDamjan Marion1-0/+35
Change-Id: I592668a385489d0eaccd9e7693121ff25090e353 Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-13session: make sure we cannot pass wrong IO event typeBenoît Ganne1-23/+36
GCC 11 complains about potential cast from u32 to session_t. Type: fix Change-Id: Id777e339c40e0ea3c3c8b2b0800acf7cd7a4ced3 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2025-02-12build: fix broken HST gcov buildAdrian Villin5-23/+42
- also added a "NO_COLOR" option for HS tests - http coverage is not generated for now Type: make Change-Id: Ib58672ae6035fda01efee933ebf35a1dd48e8afa Signed-off-by: Adrian Villin <avillin@cisco.com>
2025-02-12tcp: rename worker ctx to just wrkFlorin Coras7-28/+21
Align with session layer (also less typing in gdb ..) Type: refactor Change-Id: I1455a1aa3e3bad7b53fe638a678774b88b9969b9 Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-12session: move io inlines to header fileFlorin Coras2-334/+325
Make sure compiler can optimize out constants. Type: improvement Change-Id: I3982d4b2cf1e0e08e31a0836fd64fab82564a7d6 Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-12vrrp: force sleeps between timer eventsMatthew Smith1-1/+13
Adding a virtual MAC to some NICs can take a significant amount of time. If a lot of VRs enter the master state around the same time, the process node can stay active for a very long time processing all of the transitions. Try to force a 10 us sleep between processing events to ensure that the process node does not prevent API messages and RPCs from being handled for an extended period. Type: improvement Signed-off-by: Matthew Smith <mgsmith@netgate.com> Change-Id: I400a7d395b4c0fec371f70d359e9d184ae79645e
2025-02-11http: modularization in preparation for h2 and h3Matus Fabian6-2143/+2733
Prepare code to handle multiple http versions and move http/1 specific code into http1.c Type: improvement Change-Id: I1f2c958dadb7721b305c65b2da7c2943695ad740 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-11hsa: http client parallel sessionsAdrian Villin4-196/+394
- client is now able to use multiple workers to send requests (sometimes it uses multiple sessions on a single worker) Type: feature Change-Id: I2d83d47a9768011b3d8d05ed320852606841e4b8 Signed-off-by: Adrian Villin <avillin@cisco.com>
2025-02-11build: add socat deb packageIvan Ivanets1-0/+1
Type: improvement Integrated the installation of the socat deb package into the make install-dep target. Socat is essential for enabling communication with the VPP CLI over UNIX domain socket. Signed-off-by: Ivan Ivanets <iivanets@cisco.com> Change-Id: I14f270eea23db7f7e0b20b7b67f75dd72ad734da
2025-02-10build: replace __FUNCTION__ with C11 __func__Damjan Marion10-27/+25
Type: improvement Change-Id: I6cf7aaf42e8c0738d5b677fa66c99f071c1526bb Signed-off-by: Damjan Marion <damarion@cisco.com>
2025-02-10hs-test: option to skip tests using cli argsAdrian Villin2-3/+13
Type: test Change-Id: Ic0fd117c53a3547cebfca38d089b5ba3f79cca28 Signed-off-by: Adrian Villin <avillin@cisco.com>
2025-02-07session: do not match listeners when looking for lcl portFlorin Coras3-5/+73
Also optimize lookup to avoid session rules table matching. Type: fix Change-Id: I5b62c870edd9f7486e7de1417816fffa30d03a3e Signed-off-by: Florin Coras <fcoras@cisco.com>
2025-02-06dpdk: patch add to ice driver for flow action handlesKai Ji1-0/+64
This patch updates the DPDK ICE driver to ensure the correct hardware engine is selected for flow offload, addressing issues with improper engine assignment. Type: fix Change-Id: Ief7bfbe978d8a684b992ca85b07097112e497b80 Signed-off-by: Kai Ji <kai.ji@intel.com>
2025-02-06hs-test: fix numa node core retrievalSemir Sionek1-10/+16
In CpuAllocator, the default assumption of two node core ranges seems to not be fully correct. Added handling of multiple ranges and singular cores. Type: fix Change-Id: Id50147c5360baa4035fcd87e3717b0d6c9ea7e5f Signed-off-by: Semir Sionek <ssionek@cisco.com>
2025-02-06qos: fix qos record cliFilip Tehlar1-1/+1
Type: fix Change-Id: Ic3d4bbb4df8be6ef109f0af17744b35abc240ba2 Signed-off-by: Filip Tehlar <filip.tehlar@gmail.com>
2025-02-05http: confirm postponed connection closeMatus Fabian1-1/+4
Type: fix Change-Id: I43a221ac2be9bbea885116c12d1991cf4477fae8 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-05hs-test: fix vppConnectUdpStressLoad panicMatus Fabian1-1/+1
Type: test Change-Id: Id5573d4e1a9216297046db33be887ebfa343fa28 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-05l2: fix segment faultfenglei1-1/+4
if feature_bitmap is zero, it will make feat_bitmap_get_next_node_index function generate segment fault Type: fix Change-Id: I6a9c0b29d927e600537e9e43ad696d09c091f9b1 Signed-off-by: fenglei <1579628578@qq.com>
2025-02-05cnat: fix interface map type unformatBenoît Ganne1-2/+3
C enum is not guaranteed to be 8-bit (and in general it is not, it's 32-bits by default in GCC for example). Type: fix Change-Id: I6a10f85991ae1903fb9f4aeebfcfdf5315200903 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2025-02-04build: check cmake3 command silentlyNicolas PLANEL5-5/+5
Avoid which shell command to output verbose errors like """ which: no cmake3 in (/usr/sbin:/sbin:/bin: ... """ Type: make Change-Id: Ib9a5fee72055b80b5e4e4c73280b19fea736c352 Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
2025-02-03http: buf_fifo_get_segs minor fixMatus Fabian1-1/+1
validate segs vector to (_n_segs - 1) Type: fix Change-Id: I721cc438e4c9610760a1f40b6355834bbd389b20 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2025-02-03crypto: remove barrier on key addSemir Sionek3-52/+49
Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com> Change-Id: I9eab8a3c2580711c8635f7ba8bca3b27316aa665
2025-02-03ipsec: fix ipsec_sa_v5_detailsMaxime Peim2-17/+54
Re-add the anti-replay window size in the SA dump API and add tests. Type: fix Change-Id: Iacecdf5df796a0a6353491f8160c878751c6039b Signed-off-by: Maxime Peim <mpeim@cisco.com> Signed-off-by: Benoît Ganne <bganne@cisco.com>
2025-02-03ipsec: export ipsec_funcs headerMaxime Peim1-0/+1
Type: fix Change-Id: I78904edd5f38e22821af779e15ab1c0da2294ce8 Signed-off-by: Maxime Peim <mpeim@cisco.com>