aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-04-02fib: coverity 335348 out-of-bounds accessDave Wallace1-2/+6
- also fix memory leak in adj_glean_walk_proto() Type: fix Change-Id: I3cd72b14506e6bfc9d8d77a65d7b9b2703992367 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-04-02vppinfra: fix array_mask_u32 underrunDmitry Valter1-0/+1
Properly handle small buffers in the AVX256 version of array_mask_u32. Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Fixes: f62ed3f9c1ec3e8db36f63d6a54f46b7bea43723 Change-Id: Idf1cb43ccf37bd7c439d11e4f68fe30064c6d09a
2024-04-02api: fix rx timeout thread busy loop after reconnectVladislav Grishenko1-0/+2
After memclnt api client disconnect, read timeout is set to zero and stays the same even after same client reconnect. It causes client process to spin in timeout loop up to 100% cpu. Fix it by resetting timeout process state upon every (re)connect. Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: I56812972a69c343f869eebbdfebdcbefd3d201e0
2024-04-02map: BR rule lookup updateDan Geist4-7/+39
Update to the MAP rule lookup (in IPv6) based on the rule's source prefix instead of DMR Type: improvement Per RFC, the DMR is allowed to serve multiple MAP Basic Mapping Rules, but this capability was prevented by the above logic. Updates to the code include populating a new hash table based on the MAP rule ip6 prefix and length, changing several functions to reference this new table, and slight alterations to a few functions regarding pre-lookup bitmasking. All changes are commented with [dgeist] and are in need of peer review, especially the bitmask alterations. An attempt was made at generating an additonal MAP rule in the test_map_br test harness, but the coding appears very much oriented towards testing just one rule. I would appreciate suggestions on how to test multi-rule cases. Issue: VPP-2111 Change-Id: Id1fea280eba625e23cd893575d9b63aac7f48405 Signed-off-by: Dan Geist <dan@polter.net>
2024-04-02vapi: avoid memory leakKlement Sekera1-1/+1
Erase removed elements to avoid memory leaks. Type: fix Change-Id: I1605bea8df7e08455691364efb0a12eb0d9dae93 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-04-02lb: fix using vip after freeGeorgy Borodin1-3/+3
fix use of vip after it was deleted Type: fix Fixes: 041eacc81656d2ed5bc01b96b15a7d03a1700f13 Change-Id: I5723485c5da7507fbc6c86ff6eb9f77127439f67 Signed-off-by: Georgy Borodin <bor1-go@yandex-team.ru>
2024-04-02l2: fix vxlan src port entropy with mpls payloadVladislav Grishenko1-1/+5
l2 tunnels like vxlan, gtpu, geneva use vnet_l2_compute_flow_hash() to compute flow hash for udp src port entropy. In case of inner mpls tunnels to the same lsr ethernet src and dst macs are the same, so l2 flow hash is also the same leading to no src port entropy and the only rss queue overflow on receiver side. Fix it for all the possible vnet_l2_compute_flow_hash callers by making mpls playload hash in additon to ip4/ip6. Visible performance impact is not expected as it's only one check for mpls ethertype for common cases. Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: I69153d42fb3d7c094a670c674fac8d14039c626a
2024-04-01linux-cp: add support for tap num queues configVladislav Grishenko3-2/+39
This change allows to limit lcp interface queues to be used by explicit host interface workers. Type: improvement Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: I0626f66021e5a5f251470156231dc44ddaea5ee6
2024-04-01fib: add early config support for IP and IP6 default FIB table namesJon Loeliger5-12/+82
Type: improvement Change-Id: I8c248d9e224bd069b641a174da57d448371470af Signed-off-by: Jon Loeliger <jdl@netgate.com>
2024-04-01vhost: Only enable plugin on LinuxTom Jones1-0/+2
Type: improvement Change-Id: I6cf5adbd609d911e15dcc6d976cda4ad21ce89ad Signed-off-by: Tom Jones <thj@freebsd.org>
2024-04-01vlib: fix counter_index checklijinhui1-3/+5
Ensure counter index is valid before using it to lookup the counter. Type: fix Change-Id: I423c7a6aa6b65f6367b18d8e99cf40f52e06b416 Signed-off-by: lijinhui <lijh_7@chinatelecom.cn>
2024-04-01octeon: specify pool when alloc buffersDamjan Marion1-1/+2
Type: fix Fixes: 01fe7ab Change-Id: I72fdaca250468d91a31efcce2fb447c97ba49dc7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-04-01octeon: refill even if nothing dequeued from rx queueDamjan Marion1-5/+6
It may happen that rx queue is empty of free buffers due to previous alloc failure. Type: fix Fixes: 01fe7ab Change-Id: I344dcda11525444bd1358b3d36ffdf8ab9aa2677 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-03-30ipsec: fix clang compile issueKai Ji1-3/+0
Type: fix Change-Id: Ic015b37e18a43c49c3fb3dbff284a17fa2c5fd99 Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com> Signed-off-by: Kai Ji <kai.ji@intel.com>
2024-03-30tls: fix rescheduling when no data availableFlorin Coras1-2/+5
Don't force tx rescheduling of tls session if no forward progress is made. The session will still be rescheduled by the session infra if there's pending tx data. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic57b6ee79969055cec782938668c054bcc39f206
2024-03-29session: fix api coverity warningsFlorin Coras1-2/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ieb4e9d9e39b937ad4c7316b3955b3ca296f0a191
2024-03-29session: add new api for enq tx io eventsFlorin Coras2-2/+10
Type: improvement Change-Id: Iefe5c2e610a26241a88ca783ac548fd8f2317bb0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-03-29session: use custom types for session flags and stateFlorin Coras1-16/+16
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I04f836d09a1cbd5a5b55dc64359d2d761dfc4988
2024-03-29session: improve use of session handlesFlorin Coras7-76/+75
First step towards moving to an 8 byte struct instead of u64. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Idd0b95520ab7158e175b9af1702fc09c0613a4bb
2024-03-29vlib: improve automatic core pinninghsandid4-7/+103
Type: feature Auto core pinning now fetches vpp cpu affinity list using pthread api. This enables us to do core-pinning in environments where the host cpu list does not necessarily align with cpus available to vpp Change-Id: Ife8c2a2351c08c5c6c4fdf7c729eeff2697bc39a Signed-off-by: hsandid <halsandi@cisco.com>
2024-03-29misc: deprecate lawful-intercepthsandid7-487/+5
Type: refactor Change-Id: Ifd7f5b351401cdcaaaf57fefc5dbbfdaf235054e Signed-off-by: hsandid <halsandi@cisco.com>
2024-03-28acl: rework headers to enable out-of-tree usageMohammed Hawari4-8/+19
Change-Id: I1f8adf1f5650ab6c04e03c95d7a8d0bfa39b5f2d Type: improvement Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2024-03-26tls: init session for accepted ctxFlorin Coras1-7/+7
Make sure session is marked as invalid. Type: improvement Change-Id: I1c861645de95ef15a24acd4fe6dd5364a55b4fb8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-03-26tcp: avoid fr segments less than mss if possibleFlorin Coras1-1/+5
Type: improvement Change-Id: I958e059384db3c13a29f64be96877f57617bbae2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-03-26tests: Add a socket timeoutTom Jones1-0/+6
On FreeBSD a races seems to occur between the states socket connecting and VPP accepting the connection and calling getpeername. The recv_fd call here will fail with no fds before the VPP process has time to handle the connection. Introducing a socket timeout removes this failure on FreeBSD and allows the test suite to run. Add a timeout on all platforms to try to avoid this race everywhere. Type: improvement Change-Id: I96f77f924a9491222bc213b534cb17001d081f3f Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-26papi: Use CMSG_SPACE for sizing ancillary buffer spaceTom Jones1-1/+1
CMSG_LEN provides the length required to store an ancillary item, but it does not consider padding. RFC 3542 requires portable applications to use CMSG_SPACE(), this is documented in the python API: https://docs.python.org/3/library/socket.html#socket.CMSG_LEN Type: improvement Change-Id: I0eab470585f2f39bea38639db95d6b0e047d2cff Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-26nat: Include platform specific headers on FreeBSDTom Jones1-0/+5
Type: improvement Change-Id: I43f59037181ec6b76499e8ee1d82c04670119dc9 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-26vrrp: fix vrrp_garp_or_na_send()'s memory leakluoyaozu1-0/+2
need free bi after send packets Type: fix Signed-off-by: luoyaozu <luoyaozu@foxmail.com> Change-Id: I98d03820366c3d106df212c4eb353ec6a228e20e
2024-03-25vcl: add api to retrieve num bytes for txFlorin Coras3-2/+21
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iaa1b026e2baea1c03f8c75e7d6879d0ff6d379d6
2024-03-24tls: pass session state to engine on client initFlorin Coras1-1/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ibe218a922ab656b8362e3c085193cb848783c255
2024-03-23fib: fix vectorized impl buffer typoDmitry Valter1-1/+1
Fix copy-paste typo with an incorrect index. Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: I463e6f016df9cd24e96defcd30c1b442b8809416
2024-03-22ipsec: esp_decrypt code clean upFan Zhang1-43/+42
Type: improvement Change-Id: Icac31a8a3da71334e2b877f3b8e5d5a7cc5e76b8 Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
2024-03-22dpdk-cryptodev: fix coverity issuesDmitry Valter1-1/+1
Copy v23.10-rc0-154-gfeda2ff64 fix to the unbatched path Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: I2f58ed9a39439b22918946f328f96e676c68add9
2024-03-22mss_clamp: fix next layer in ipv6Maxime Peim1-16/+13
Type: fix Change-Id: I06d56e6d4be2e728e13053a66273a71656ac14c4 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-03-21session: fix workers race to allocate lookup tableFlorin Coras1-24/+39
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I60600452c91184da571d4630bf2f0d9c24a3e85e
2024-03-21ip: add support for buffer offload metadata in ip midchainArthur de Kerhor5-44/+78
The offload should be handled by gso node or by the NIC if the latter has the relevant capabilities. But ip midchain is missing the support for buffer offload metadata in case of GSO packet. This patch adds the relevant support to add the buffer metadata if the packet is GSO/IPIP to be handled accordingly. Type: improvement Change-Id: I17f5d71bf4c5f43a85ca3f2fbebfa1426b42ef69 Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2024-03-21ipsec: remove unused parameter for esp_add_footer_and_icvFan Zhang1-4/+3
Type: improvement Change-Id: Ib6c4e6bc42dd63cb2fdb2dfa7e94baa709e7185b Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
2024-03-20tls: avoid app session preallocationFlorin Coras3-56/+15
Since async rx event infra decouples notification event generation from delivery we no longer run the risk of having tls realloc session pools while session layer still holds a pointer to the accepted/connected tcp session. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1bb429a058707aba1d4f32ea33615a2367e66969
2024-03-20vppinfra: Define EBADFD on FreeBSDTom Jones1-0/+4
Type: improvement Change-Id: I303a8a7333d44f6eab902d4d61023cfa96760dd2 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-19vcl: Only build vcl_ldpreload on LinuxTom Jones1-1/+6
vcl_ldpreload requires some additional porting for FreeBSD, until that can be completed only build on Linux. Type: improvement Change-Id: I9b0942114252a0c6241640d2e454861c2b5d4304 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-18tls: handle attepts to renegotiate hsFlorin Coras3-2/+16
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I549d0c8715e5c06bfc22be26ca1dc78ec3c29a61
2024-03-18vapi: uds transport supportStanislav Zaikin6-171/+783
introduce ability to connect over unix socket instead of shared memory Type: improvement Change-Id: Id9042c74e33ad4e418896c4d7ae48bb9106195c9 Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com> Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-03-18vppinfra: os agnostic api for getting CPU informationDamjan Marion9-30/+77
Avoid direct sysfs reads when possible... Type: improvement Change-Id: I2b84cd18f3da47925d068951f24b79b5b6e20bb1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-03-18build: add option to specify supported OS list for pluginDamjan Marion5-1/+13
Type: improvement Change-Id: I0d6f11d5ece19c5e0e00dfdadc9d4c09274ae8e1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-03-15ip: reassembly - return correct valueKlement Sekera2-2/+2
If already enabled, return 0 to indicate success. Type: fix Change-Id: I4a182e14df9b05698ad93d596a97c46a020fd54b Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-03-15misc: Add platform specific header on FreeBSDTom Jones1-0/+4
Type: improvement Change-Id: Ia23414e87d64567d5124b8297315ed7a426c3651 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-03-13vcl: fix bitfield truncation with clang16Florin Coras1-1/+1
Reported by phlax while building Envoy with clang16 error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib1b731780cf27a9498299f0424a06000dc67e81e
2024-03-13misc: fix the static vppctl buildAndrew Yourtchenko1-1/+3
Change I58e1ae1c91f4a62e80eaf4e16e9932d8bab17c74 has introduced a reference to config.h, which is not there in a case of building a static standalone vppctl. Solution: add a variable STATIC_VPPCTL which, when defined, avoids including the missing include file. Thanks a lot to Damjan for the suggestion. Type: fix Change-Id: I133235ba07e5c2e0d5669be9c2292cab0fdf436f Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-03-13papi: use correct size for fixed length stringsKlement Sekera1-1/+1
This is required for correct packing of unions. Type: fix Change-Id: I92d04b1bbcb3fc3fe06474d8f2c59ed3502e6bd6 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-03-12misc: remove GNU Indent directivesDamjan Marion649-4341/+1
Type: refactor Change-Id: I5235bf3e9aff58af6ba2c14e8c6529c4fc9ec86c Signed-off-by: Damjan Marion <damarion@cisco.com>