aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-11-07hsa: proxy fix assert placementFlorin Coras1-3/+4
Assert fifo refcnt on the right thread Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If6edf9969f5c70533a1e9c6358c022c556c4ed81
2024-11-07armada: initial DSA supportDamjan Marion6-85/+441
Type: feature Change-Id: Ic6578e0ded33ca3c6590c8e6127ec11a0f5b3057 Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-11-07dev: secondary interfaces supportDamjan Marion11-183/+765
Type: feature Change-Id: I6cc4340431b8273022955fca1600061a722e3ace Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-11-07dev: introduce consistent_qp featureMohammed Hawari6-5/+14
For some devices, queues are organized as pairs (rx/tx). In this case, it is desirable that a worker receives packet and send packets for the same pair. This patch enables this by assigning txq to workers first and ending with main. Change-Id: I3de4afbf74a265d5275c6a5d9a905b51dd661b22 Type: feature Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2024-11-06session: session table holding free appns indexSteven Luong9-23/+407
session table may be shared among multiple appns's. app ns add id blue secret 1 if tap0 app ns add id red secret 1 if tap0 session table holds the last added app_ns's appns_index. If the last app_ns is deleted, session table is not free since there is still an appns which uses the same session table. In that case, session table is holding the free app_ns's appns_index and it can cause problem. The fix is to modify appns_index in session table to hold a vector of appns_index's instead of just the appns_index that was last added. When the app ns is deleted, remove the deleted appns_index from the session table's vector of appns_index's. Type: fix Change-Id: Ied8bc97f185071dc89b9b56656e18efbd2995131 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-11-05svm: mq use poll instead of SO_RCVTIMEOFlorin Coras1-11/+15
setsockopt does not work on eventfds Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I652a2b78160abe1bc15879fd8bc320ba4ef38e63
2024-11-04hsa: added GET method to clientAdrian Villin3-582/+744
Type: improvement Change-Id: I46f7e1e2b509a463ff4b2492bf6412b67a1afdc4 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-01http: CONNECT method for tunnellingMatus Fabian4-66/+341
Type: improvement Change-Id: I6af16ddcc6734bb831227ce65cb39e87294fc4cd Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-01http: fix invalid listener handle timeout configDave Wallace1-1/+1
- Fixes this assert() in make test-debug testcase: make test-debug TEST=test_http_static.TestHttpStaticVapi.test_http_static_vapi ... vpp[441]: /vpp/src/vppinfra/tw_timer_template.c:301 (tw_timer_start_2t_1w_2048sl) assertion `interval' fails Type: fix Change-Id: Ic6040957f48ab578affa5b1cf7dfdf4be27c4c56 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-01vcl: fix vls mt detection and select handlingFlorin Coras3-3/+29
Make sure num threads is 1 on process create and fork. Multi-thread locks are applied once num threads exceeds 1. For select, follow same pattern like epoll and add check for session migration. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I1edcd6c4c81b6b3caf8b00781b339414e8945b0e
2024-10-31virtio: introduce the consistent-qp featureMohammed Hawari8-15/+29
In certain usecases related to Linux legacy pinning of flows on queue pairs, it is desirable that, for a given index, the rx and tx virtio queue be handled by the same worker. This change introduces a flag for virtio and tap interfaces that allow such a mapping. Example with two workers rxq 0 and txq 0 on worker 0 rxq 1 and txq 1 on worker 1 txq 2 on main thread Change-Id: I1b74a4788843fd1d0e8dcb4e9da30e609e088fe3 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: improvement
2024-10-30session: sesssion_rule_add_del API parsing port in wrong orderSteven Luong1-6/+6
The convention in the binary API is that fields encoded in network order. For some reason, port was parsed in host order. Type: fix Change-Id: I31ea313937097e2547226566b7869be4e28251b8 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-10-30http: udp proxy uri template parsingMatus Fabian4-28/+163
Parse a URI template that has variables "target_host" and "target_port", where varaibles are at the end of the path: "/{target_host}/{target_port}/". Type: improvement Change-Id: I440b7f4951bffa1fd9971740b9890b221193943b Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-30ipsec: fix UDP flow in ipsec inbound policyGabriel Oginski1-25/+52
This patch fixes handle with UDP packages for UDP-Encapsulated ESP and IKE traffic in inbound policy. Orignally IKE traffic on UDP with port 4500 is dropped inside inbound look-up. Type: fix Change-Id: I071adf18cb82da8cd000b93914078e51e393104c Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
2024-10-29udp: connected mode only for connectsFlorin Coras1-10/+1
Treat all connects as connected udp sessions. Connectionless udp is only possible with listeners. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0a75b7c85b72274df909ed3b114eed4f6519477e
2024-10-29session: improve migration rx ntfFlorin Coras1-3/+1
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0dd002f923908c4b9244c2c47fc85fa8855d54e1
2024-10-29hsa: proxy support for connected for udpFlorin Coras1-0/+102
- mark listener as connected to support udp proxying. Connectionless udp proxying is possible but would need more work on rx path. - add support for session migration Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia6911ad728b7718a4983152d144e2566998e35c2
2024-10-29http: "absolute-form" target URL parsingMatus Fabian4-43/+468
Type: improvement Change-Id: If39680a148d39add40433547369b2ddad3c2e226 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-28http: timeout docsMatus Fabian1-0/+29
Type: docs Change-Id: I3dd9a726b862e72458a8f83c62354411d2c89d07 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-28http_static: always free ext_cfgMatus Fabian2-2/+2
Type: fix Change-Id: I655e93c0f1e1de65d6d3c3e0976e25a7ce11aafc Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-28af_xdp: api cleanupStanislav Zaikin3-256/+3
remove deprecated api handlers Type: improvement Change-Id: Id53d94f9d5fe46eba3ed809e4c16136c0eb2befc Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-10-25hsa: http cli client ho session cleanupMatus Fabian1-8/+27
Type: improvement Change-Id: I9266dac18ad3ee57fc8ecca3614b51b2345e9c48 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25http: pass timeout using extended configMatus Fabian9-15/+97
App can now pass http connection timeout using extended configuration, ext cfg type TRANSPORT_ENDPT_EXT_CFG_HTTP, value (in seconds) set in ext cfg member opaque. It is optional, default value is 60 seconds. Type: improvement Change-Id: Ibeff4bbd3153421be350ff564ec3c8e52e5b9639 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25vcl: fix get tx fifo len attrFlorin Coras1-5/+4
Type: fix Change-Id: I9b47600486b03c4c2cd031ed1f0faf6c28864fe4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-10-25session: support of multiple extended configsMatus Fabian15-64/+173
This allow configuration for each transport protocol when combined, e.g. HTTPS=HTTP+TLS. Extended config of session endpoint config is now chunk of memory, which allow seamless integration with VCL, and internal representation is hidden behind APIs, which is better for future improvements. By default chunk is allocated to 512B if the app doesn't do so before. Type: improvement Change-Id: I323f19ec255eba31c58c06b8b83af45aab7f5bb1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25dhcp: client use mac address as client identifierOle Troan1-1/+3
Previously the DHCP client use a constant client identifier (vpp 1.1). Problem with that is that multiple VPP clients on the same link would fail. Fixed by using MAC address instead. Type: improvement Change-Id: If37f4a14cc728bde6c9ef6c169957562d763c973 Signed-off-by: Ole Troan <otroan@employees.org>
2024-10-24hsa: support vcl server binding to ipFlorin Coras1-15/+36
Type: improvement Change-Id: I4d64cddaa372aecaee8bb3eaf244c8d4998f490c Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-10-24hsa: add appns support to http cli serverSteven Luong1-31/+43
When the last listener is deleted, detach the cli server. The appns is determined and should be entered when the cli server is first brought up. When adding an additional listener subsequently, appns must not be specified. Type: improvement Change-Id: Idac5b1f89df2aeca6734ab4532ebade0659fc357 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-10-24vapi: fix uds connect error handlingStanislav Zaikin1-1/+1
Type: fix Change-Id: I846b54408991d34f73735914a4a673d4ee966afd Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-10-24armada: fix rxq buffer pool assignmentDamjan Marion1-2/+3
Type: fix Change-Id: I5a78804986f400f8adc7f58f25fe5d7989a926ea Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-10-23ip: fix port extractionKlement Sekera1-4/+11
Replace a hard-coded constant of 64 with 56, which is a more appropriate value for when ICMP echo request is returned in ICMP error. Previously, the size of such message would be smaller than 64 and parsing would not return the correct value. Type: fix Change-Id: I1bdf8a2a23b1e6762b64210c71927c926f4547ad Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-10-23dev: use typedefs in dev.hDamjan Marion1-28/+26
Type: refactor Change-Id: Ieb50d79bd7b9f0a59faf26a4f5bce3f89f25b287 Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23dev: keep dev_instance data in structDamjan Marion4-12/+24
Type: refactor Change-Id: I05d04e2e9872d025384524b1bc133d909581e18a Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23dev: fix typo in function nameDamjan Marion5-6/+7
vnet_dev_get_port_rx_node_idex -> vnet_dev_get_port_rx_node_index Type: fix Change-Id: I9a90e5822cbc93bcf2f91244b4eb4e5fff53c212 Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23dev: _with_ptr process node callsDamjan Marion2-0/+60
Type: improvement Change-Id: Ib392d74e7629cef5d335e4320a71ceec25ddb020 Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23armada: port and queue countersDamjan Marion5-5/+262
Type: improvement Change-Id: I221253be147e99cd082911f28d088b64ca96eff5 Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23dev: add more units for countersDamjan Marion3-4/+9
Type: improvement Change-Id: If6f70fc34f47c31a986ba837c9a35ce139decfb1 Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23armada: fix typoDamjan Marion1-2/+2
Type: fix Change-Id: I1c1eb9d7426086bb8023867b3118ece119bca05b Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23dhcp: fix buffer length after adding new optionArtem Glazychev1-1/+2
The size of dhcp option should be o.length + 2 additional bytes of the header. Incorrect offset results in an extra byte at the end of the packet: ... 0120 04 00 00 00 04 05 04 AC 10 04 01 FF 00 ... RFC2131 says the last should be the 'end' option (ff) Type: fix Change-Id: I056d755d29465aab8c1c55a0b930f65ece6fafce Signed-off-by: Artem Glazychev <glazychev@mts.ru>
2024-10-23armada: set prinary address supportDamjan Marion1-0/+14
Type: improvement Change-Id: I280cb3961ff4b18c6e02053c7526c19570add09d Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23build: fix gcov failure on ubuntu 24.04Dave Wallace1-1/+1
Type: make Change-Id: Ieee6562de4b9f68d701c27a3c3018431b28eb3b0 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-10-23vapi: fix mem leak on uds transportStanislav Zaikin1-0/+2
Type: fix Change-Id: I08b990eb2ede3c26e0981de033daa4cc6bd1af8e Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-10-22pg: fix the buffer leak when pa steams are deletedMohsin Kazmi2-6/+4
Type: fix vpp# sh buffers Pool Name Index NUMA Size Data Size Total Avail Cached Used default-numa-0 0 0 2304 2048 128270 125968 1108 1194 default-numa-1 1 1 2304 2048 128270 128270 0 0 vpp# sh pa Name Enabled Count Parameters pg0-test-0 No 60900431 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 0, pg1-test-0 No 60900385 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 0, pg0-test-1 No 60898008 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 1, pg1-test-1 No 60897934 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 1, pg0-test-2 No 60900278 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 2, pg1-test-2 No 60900184 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 2, pg0-test-3 No 60900431 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 3, pg1-test-3 No 60900387 limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 3 vpp# pa delete pg0-test-0 vpp# pa delete pg0-test-1 vpp# pa delete pg0-test-2 vpp# pa delete pg0-test-3 vpp# pa delete pg1-test-0 vpp# pa delete pg1-test-1 vpp# pa delete pg1-test-2 vpp# pa delete pg1-test-3 vpp# sh buffer trace verbose Pool Name Index NUMA Size Data Size Total Avail Cached Used default-numa-0 0 0 2304 2048 128270 126650 1620 0 default-numa-1 1 1 2304 2048 128270 128270 0 0 Node Allocated Freed In Out Buffered unix-cli-process-0 0 1194 0 0 -1194 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I03051a8f529df7801cf08f8374a994dbc00fc972
2024-10-22dpdk: validate number of tx descriptorsMatthew Smith1-0/+8
The default number of tx descriptors per queue is 1024. On some device types, this is larger than the maximum allowed value and rte_eth_tx_queue_setup() can return an error. Compare the configured value to the maximum value for each device and set the configured value to the maximum value if the configured value is larger. Type: improvement Signed-off-by: Matthew Smith <mgsmith@netgate.com> Change-Id: Ie29c5c6d58c76388f65f266032821140b0f879fb
2024-10-19hsa: refactor proxy to minimize lock usageFlorin Coras2-169/+303
Use per worker context to minimize proxy session lock usage for io events. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia0ea204a8b09f72300fd40745b299246d5d0ddb7
2024-10-17crypto-native: adding missing ciphersJerome Tollet1-0/+3
Type: docs Change-Id: I23a15e1ecd4c41f6567299aa07bb5458d468acf8 Signed-off-by: Jerome Tollet <jtollet@cisco.com>
2024-10-17octeon: add crypto frameworkNithinsen Kaithakadan6-13/+2040
Configure crypto device. Add crypto support in control plane and data plane. Control plane - Handle vnet crypto key add and delete - Register crypto async enqueue and dequeue handlers Data plane - Add encryption and decryption support for - AES-GCM - AES-CBC hmac sha1/256/384/512 - AES-CTR sha1 - 3DES-CBC md5 sha1/256/384/512 Type: feature Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com> Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com> Change-Id: Ia9e16c61ed84800a59e0c932a4ba6aa1423c1ec8
2024-10-15bfd: add support for multihopAbdel Baig9-329/+635
Type: feature Change-Id: If23f9cc9317e7528f3c8d66303457206843a12c5 Signed-off-by: Abdel Baig <abdbaig@cisco.com>
2024-10-15hsa: switch proxy to using first worker connectsFlorin Coras2-29/+77
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I04821236ba8ab02525bd99a1ed4572dfcf5e5131
2024-10-14http: Content-Length value parsing improvementMatus Fabian1-18/+62
Type: improvement Change-Id: Ida8ca43b5fed41fc0b13a2dde97e7e35c55283c9 Signed-off-by: Matus Fabian <matfabia@cisco.com>