aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2 daysvcl: improve vpp detatch handlingFlorin Coras2-6/+27
Better handling of multi-threaded applications that share sessions. Type: improvement Change-Id: Id69bcb1a4b1d67aab020beefdb2fa196ec2ee108 Signed-off-by: Florin Coras <fcoras@cisco.com>
2 daysvcl: remove listen_no_mq from state to flagFlorin Coras4-50/+55
One less state in state machine Type: improvement Change-Id: Ib6445a425b1e2d5a957318a94c3f132cddd8370b Signed-off-by: Florin Coras <fcoras@cisco.com>
3 dayssession: improve endpoint cfg unit testFlorin Coras3-20/+259
We are currently testing only active open from default to non-default appns. Add connect test from non-default to default appns and make sure transport cleans up ports. Type: improvement Change-Id: Id0f05aa295ac175b549d8035eb530dbb9a15d85d Signed-off-by: Florin Coras <fcoras@cisco.com>
6 dayssession: fix lcl port allocation with fibFlorin Coras1-0/+1
Type: fix Change-Id: I0b0cc664cec2643a543a39cc7482292604381bf7 Signed-off-by: Florin Coras <fcoras@cisco.com>
8 dayshttp_static: hss_ts_rx_callback fixMatus Fabian1-0/+1
reset hs->data_len before handling new request Type: fix Change-Id: I5b02f8ec418c56e8ec607c5bc5c8716d53e5376f Signed-off-by: Matus Fabian <matfabia@cisco.com>
8 daysmisc: add and consolidate host stack scriptsFlorin Coras22-1/+381
Move all existing host stack scripts under extras/scripts/host-stack Also add scripts for iperf/vcl performance testing Type: improvement Change-Id: Ia79b6bd061db49f61a0e4c6577cf45afe0323eb1 Signed-off-by: Florin Coras <fcoras@cisco.com>
9 dayspapi: fix socket api max message id calculationVladislav Grishenko2-2/+4
In case of sparse message ids due fixed offsets, length of the message table is less than max message id, causing "IndexError: list assignment index out of range" exception in _register_function() due "self.id_msgdef[i] = msg". Unlike shmem api, socket api needs to use max id. Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: Ib777db9dabc3a5a3ff83f07ec211cf2fb3c15cf0 Signed-off-by: Ole Troan <otroan@employees.org>
9 dayshttp: http2 framesMatus Fabian5-0/+882
Type: feature Change-Id: Id2c6f6b5747c1f676048642e277eb66850f728b7 Signed-off-by: Matus Fabian <matfabia@cisco.com>
9 daysvppinfra: make verbose format time more verboseFlorin Coras1-2/+9
Dump more cpu and reftime fields in clib time struct. Example: DBGvpp# sh clock verbose Time now 6.890267 cpu time 6.890267 now 22333609568369233 last 22333609568350337 since start 19981775480 reftime 6.890268 now 1740958292.416887 last 1740958285.526620 init 1740958285.526620 error 0.000000, clocks/sec 2900000000.000000, Sun, 02 Mar 2025 23:31:32 GMT Time last barrier release 3.291883104 0: Time now 6.890387 cpu time 6.890387 now 22333609568706225 last 22333609568696497 since start 19982121640 reftime 6.890387 now 1740958292.417007 last 1740958285.526620 init 1740958285.526620 error -.000001, clocks/sec 2900000000.000000 Thread 0 offset 0.000000000 error 0.000000000 1: Time now 5.695180 cpu time 5.695180 now 22333609568926421 last 22333609568920073 since start 16516023212 reftime 5.695181 now 1740958292.417084 last 1740958286.721903 init 1740958286.721903 error -.000001, clocks/sec 2900000000.000000 Thread 1 offset 1.195283275 error -.000000114 Type: improvement Change-Id: I383b9b1a2ef64a731bbc335cd512d565d47f0cd9 Signed-off-by: Florin Coras <fcoras@cisco.com>
9 dayssession: uri parsing improvementsAdrian Villin4-26/+115
- It is now possible to use "proto://ip4:port/target" or "proto://[ip6]:port/target" format. - Updated http_client and related tests to use the new format Type: improvement Change-Id: Ic6afd8c66eddca2ab1d7afc034e193441c34f8ee Signed-off-by: Adrian Villin <avillin@cisco.com>
12 dayssession: ignore tx evts for cl sessions with no fifoFlorin Coras1-1/+1
Type: fix Change-Id: I3e484ed3447dde3540c39b2c5c5ce26329c83340 Signed-off-by: Florin Coras <fcoras@cisco.com>
13 daysmisc: VPP 25.02 Release NotesAndrew Yourtchenko2-0/+624
Type: docs Change-Id: Iff452c28396159f7818e0a294daa0277870077f4 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit af12ed005d50809e130b93a4d9c934a961081dcf)
13 daysdocs: Restore and update nat section of progressive tutorialBence Romsics3-0/+160
The NAT section of the Progressive Tutorial was likely accidentally lost in If5b0d07ea90d978c6b1f11210a661876b7929653. This patch restores it. It is also updated to reflect current package and plugin names and cli reference links. Type: docs Change-Id: Ifb6117cd00768fd05dccfa506b4e97c81f9bcf21 Signed-off-by: Bence Romsics <bence.romsics@gmail.com>
13 dayshttp: hpack headers encodingMatus Fabian5-90/+394
1) header encoding without dynamic table 2) serialization of response header block Type: feature Change-Id: I7ec470310e5aec0f8055492e92682261b4af5e81 Signed-off-by: Matus Fabian <matfabia@cisco.com>
14 dayshs-test: make docker cache dir multi-user friendlyMatus Fabian1-0/+6
Type: test Change-Id: Ib569a48b61e337e3a1bef5ba5b37d10e3322c44a Signed-off-by: Matus Fabian <matfabia@cisco.com>
14 dayshs-test: create docker buildx with proxyMatus Fabian1-1/+1
Type: test Change-Id: If887916bc540a51747e342a76edc2f37d54e6b0f Signed-off-by: Matus Fabian <matfabia@cisco.com>
14 dayshs-test: fix make install-depsMatus Fabian1-4/+4
run apt-get commands with sudo Type: test Change-Id: I1044be65a21bd8a830c11f53239accf2cf86c33d Signed-off-by: Matus Fabian <matfabia@cisco.com>
14 daysabf: run abf after reassemblyBenoît Ganne1-6/+8
If reassembly is enabled, make sure to apply ABF after reassembly. Type: fix Change-Id: Ic12ccba34a9e4d13caba1821e8175ee5adc7f8c3 Signed-off-by: Benoît Ganne <bganne@cisco.com>
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