aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
10 dayshttp: fix http_free_header_tableMatus Fabian1-1/+0
Type: fix Change-Id: I014aebc84d0c219cc0c99120e9cd51fcc520a41c Signed-off-by: Matus Fabian <matfabia@cisco.com>
10 daysip: add enable ip4 apiOle Troan4-0/+78
A philosophical question. Do an interface have to have an IPv4 address to process IPv4 packets? For ICMP error generation it's sufficient that it has an address available on the node. More concretely this patch is to allow an extern DHCP client to process IP packets before it configures an address on the interface, without having to have an node early in the ip4-unicast feature-arc like ip4-dhcp-client-detect to intercept the packets. Type: improvement Change-Id: I780c579eec28ba564cf8417fbcc87e7a7876fdd2 Signed-off-by: Ole Troan <otroan@employees.org>
10 dayshttp: connection upgrade mechanismMatus Fabian5-197/+415
Handle "Connection" and "Upgrade" headers in http transport layer which are used to create a tunnel for some other protocol on the same connection. Type: improvement Change-Id: Icf5479f36fbcc7259b157eaad957211be5ea2aae Signed-off-by: Matus Fabian <matfabia@cisco.com>
11 dayscnat: add support for icmp tracerouteMohsin Kazmi1-33/+154
Type: improvement Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ief1e97d03b7a934547add35ac3ed1f93f2499a20
11 dayssession: add ip4-fib-id and ip6-fib-id to app ns CLISteven Luong3-11/+158
Problem The API app_namespace_add_del allows specifying ip4_fib_id and ip6_fib_id. But the CLI does not. It only allows interface. Interface binding may change after the application namespace is created and there is no registration for the callback when the interface binding changes. Fix Add ip4-fib-id and ip6-fib-id to app ns CLI. When both interface and fib-id's are specified, interface takes precedence. When interface is not specified, either ip4-fib-id or ip6-fib-id or both ip4 and ip6 fib-id's may be specified. If only ip4-fib-id is specified, ip6 is disable for this particular app namespace. If only ip6-fib-id is specified, ip4 is disable for this namespace. When the interface binding changes to different vrf and the application namespace was created via interface option, we delete the application namespace and recreate the application namespace with the new interface binding. Notice when the application namespace is removed, all session rules and sdl rules previously created for the deleted application namespace will be deleted. However, if the fib table/session table was shared by another namespace, the other namespace will still contain the session rules and sdl rules. Type: improvement Change-Id: I76eb30da1ed8a39d06694c1e66d0675bf03516bf Signed-off-by: Steven Luong <sluong@cisco.com>
11 dayssession: enhance display for show appSteven Luong4-10/+72
Display segment manager information for show app <index> verbose Mark segment manager as listener if it is a listener segment. Type: improvement Change-Id: I8d91f4c2ed5b8f39620f2c8b06950c0e7ee2225e Signed-off-by: Steven Luong <sluong@cisco.com>
11 dayshttp: http_decap_udp_payload_datagram fixMatus Fabian2-3/+31
Properly handle incomplete capsule. Type: fix Change-Id: Ied7fca861f02e401451beaff09e612bcf471d8e0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
11 daysvcl: fix ldp getsockopt tcp_info length checkFlorin Coras1-3/+7
netinet/tcp.h and linux/tcp.h have different lenghts but overlap. LDP uses the former while iperf the latter. Accept both lengths for now as we do not support exposing tcp metrics via ldp. Type: improvement Change-Id: I13a149d68715ed9451773630a3595c09c421aa29 Signed-off-by: Florin Coras <fcoras@cisco.com>
12 daysvcl: improve handling of thread cancelation in vlsFlorin Coras1-0/+7
Meant for multi-threaded applications that share a vls and vcl worker. Disable thread cancelation on thread new thread detection and add a new pthread cancelation point in vls_mt_mq_lock Type: improvement Change-Id: I21b16ee7c6a5ec31b8f6363325cc7ffa463c7b5c Signed-off-by: Florin Coras <fcoras@cisco.com>
12 daystls: add async processing supportVarun Rapelly5-70/+783
Adds support for tls async processing using OpenSSL. Adds new CLI command to configure OpenSSL TLS configurations used by OpenSSL context and session. New CLI format is: tls openssl set-tls [record-size <size>] [record-split-size <size>] [max-pipelines <size>] Sets default values to below TLS configuration parameters: - first_seg_size: 32MB - add_seg_size: 256MB Type: feature Signed-off-by: Varun Rapelly <vrapelly@marvell.com> Change-Id: I990be31fced9e258fdb036f5751cd67594b0bce7
13 daysvcl: fix epoll wait assertFlorin Coras1-1/+1
Type: fix Found by Lucas. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3e10d3a9f40ef28cb9bda58f199a04dfc3e41d27
13 daysmisc: move ppp to a pluginJoel Ahn17-40/+104
Type: refactor Move PPP folder under vnet to the plugin folder, and modify some of path of the #inlude<header> to the new path. Add a plugin.c file to register a plugin. Resolve ip4_input and ip6_input's dependency on PPP functions by moving those calls to PPP's initialization. Resolve osi's inter-plugin dependency on PPP by having it retrieve the function pointer Add ppp to the list of valid spelling words JIRA: VPP-2052 Change-Id: I1a26ef0663a91857d13f7d87a3bb14bc38893194 Signed-off-by: Joel Ahn <joeahn@cisco.com>
14 dayssession: clean up session table when re-adding an existing application namespaceSteven Luong1-0/+13
The app ns semantics allows the same app ns to be re-added with different interface. For example, app ns add id blue secret 1 if tap0 app ns add id blue secret 1 if tap1 If tap0 is bound to table 0 and tap1 is bound to tap1, we need to clean up the existing session table and possibly allocate a new session table for the app ns. Type: fix Change-Id: I566d621081b7cdbd7d0c481fda53953b39c26001 Signed-off-by: Steven Luong <sluong@cisco.com>
14 daysmemif: add num pkts received/sent per queueDau Do3-3/+69
Add memif stats per queue for performance tuning. Type: improvement Change-Id: Ifacc80c0adfe92075d91179857c8956d1cbf3a70 Signed-off-by: Dau Do <daudo@yahoo.com>
2024-12-05hsa: fix proxy udp issueAdrian Villin2-4/+5
- when testing multithreaded proxy with udp iperf, iperf wouldn't connect -> made client_sep a vector so multiple transport protocols can be saved Type: fix Change-Id: I91936bd3214f40deb914792c02783112ae59942c Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-05tap: update tap_flagsAdrian Villin1-0/+1
- added TAP_API_FLAG_CONSISTENT_QP = 256 Type: improvement Change-Id: I57d95503395baf265c29d48a92bd69347f0a7333 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-05crypto: add config option to adjust crypto sw scheduler queue sizeDau Do2-37/+73
Type: improvement Change-Id: I63c16365a0d4a26b8ecb05bde81ad7b532df50a0 Signed-off-by: Dau Do <daudo@yahoo.com>
2024-12-04dev: include limits.h for PATH_MAXRenato Botelho do Couto1-0/+1
Type: fix Change-Id: I66607164b1552011b39808bafc8e02b5a24f883c Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2024-12-02vcl: fix poll supportFlorin Coras3-2/+24
Type: fix Change-Id: I827f19d893153277baba3c2d0efde5f2827eb0ff Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-11-29svm: fix overflow when no region is big enoughBenoît Ganne1-32/+20
- if no region is big enough to accommodate need_n_bits, we can scan past the end of the bitmask - rewrite the search loop for clarity Type: fix Change-Id: I82637bc91eb7e7ae922785bc626fa224638cb4e4 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-11-29vapi: fix vapi_ctx_allocBenoît Ganne1-5/+4
clib_time_init() may use clib main heap when it needs to parse /proc or /sys. Make sure the main heap is initialized early. Type: fix Change-Id: I891504f3455b97c06da25e4833a8fb6941eb428a Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-11-28vcl: store libc_epfd in vls instead of vclFlorin Coras6-36/+59
ldp stores the libc epfds it uses in conjunction with vcl epfds in vcl attributes. Apart from being an ldp, as opposed to vcl, specific attribute, the epfd is retrieved on session close with vls locks that could be acquired from multiple threads. Avoid grabbing locks when retrieving the attribute. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I5fc52d72667a7693b1557d209c3890a968422f1e
2024-11-27api: fix bug in pcap capture apiHadi Rayan Al-Sandid1-1/+1
pcap api cleanup can cause crash in certain scenarios e.g.missing/invalid 'filename' parameter. Type: fix Change-Id: I92417765960de84e30ed7cb945d40c50d722fb6c Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
2024-11-27vapi: only wait if queue is emptyMatthew Smith1-1/+2
Type: fix Fixes: 4b9935cd54 In vapi_wait(), check that the queue is empty before waiting. The condvar is only signaled on addition of the first message. pthread_cond_wait() will block approximately forever if there are already messages in the queue. Change-Id: Ic52befe443509f3c53aa9a872ba62bb05aaac25e Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2024-11-27vapi: remove plugin dependency from testsStanislav Zaikin2-93/+117
replace unnecessary dependency on mss_clamp plugin with ip_path_mtu_get streaming rpc. Type: fix Change-Id: I50538e40697b7f463be5fa25319e2bcd40b2f13f Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-11-26build: add SHA256 checksums for downloaded dependenciesAndrew Yourtchenko1-3/+3
- Replace md5sum with sha256sum for verification of downloaded external and optional dependencies. Type: improvement Change-Id: I52c96098d3cfd4c1eaf599da44a7b859ad24f1a4 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-22pg: fix the buffer deletionMohsin Kazmi1-11/+40
Type: fix Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I8f0a67706399dad1e5296aafd1cfa92958b2fe82
2024-11-22papi: remove deprecated pkg_resourcesOle Troan3-9/+11
Replace use of pkg_resources with new supported APIs under importlib. Type: fix Change-Id: I67a7d936c634107c1ae87c0a06bea2355d906739 Signed-off-by: Ole Troan <otroan@employees.org>
2024-11-21fib: fix `show ip fib memory` output errorJay Wang1-3/+2
Put `memory` before `mem` when parsing `show ip fib` CLI command to avoid the following annoying output error. vpp# show ip fib memory ipv4-VRF:0 mtrie:343808 hash:4687 totals: mtrie:343808 hash:4687 all:348495 unknown input `ory' Type: fix Signed-off-by: Jay Wang <jay.wang2@arm.com> Change-Id: I5f990243309d6e6ea339e8442f5e68ae90a98814
2024-11-21vcl: make ldp workers thread localFlorin Coras1-21/+5
Multi-threaded apps that do not allocate per-thread workers (multi-thread workers vcl config) ended up sharing worker state like the select bitmaps and time among others. Those should not be shared. To avoid this, make ldp workers thread local variables. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iabdcc413991dbaafff33f24187f7053a9c5a1270
2024-11-21hsa: added request repeating to http clientAdrian Villin1-124/+238
- added request repeating (repeat <count>|duration <seconds>) - added basic stats Type: feature Change-Id: Ic69eac8029eac31ea5ace5b5c0da1ce7a3543ac0 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-21session: fix ct get peer if peer freedFlorin Coras1-0/+2
Type: fix Change-Id: Iae00637ab843121651f187436bf849f41874f48c Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-11-20build: add vpp-opt-deps packageDave Wallace1-0/+4
- Build an optional vpp package for optional dynamically linked dependencies for vpp plugins. Initial package contents include openssl 3.3.2. - Refactor $WS_ROOT/build makefile structure - Remove vpp-ext-deps debian control replacement of vpp-dpdk-dev package Type: make Change-Id: I1af0eff4a0c009c9d9061362f79e2013d8bf1a93 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-19http: track requests as independent objectsMatus Fabian2-182/+203
Type: improvement Change-Id: I6c1808a82f61c71f34eab12ae5f99cca5fee8854 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-19http: HTTP Datagrams and the Capsule ProtocolMatus Fabian2-0/+265
Type: improvement Change-Id: I45de69172eec54578ceebe87f655701830af1a3d Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-19quic: update to quicly version 0.1.5Dave Wallace4-22/+16
Type: improvement Change-Id: I7c9c91a9c4d3ac2499e42eedda0a5d395bdf5912 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-11-19api: support api clients with real-time schedulingFlorin Coras1-7/+44
Type: improvement Signed-off-by: Tatsushi Kanemoto <t-kanemoto@fujitsu.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib97b778f6a1aac95573f1258ff806282dc995331
2024-11-18session: track number of tries to alloc lcl portFlorin Coras6-8/+71
Track number of tries to alloc local port and report it in stats segment. Could be used to gauge how busy the port allocator is. Also add cli to dump trasport sub-layer state. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3736a48488c491dee85aa2b074b87519a3857057
2024-11-14hsa: configurable connect-proxy idle timeoutMatus Fabian2-1/+13
Added cli option idle-timeout to specify connect-proxy timeout for idle connections, default value 10 minutes. Type: improvement Change-Id: I3ced83f28d3aabcc70fbd3ca1ef10b8a0336ffb1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-14http: state machine improvementMatus Fabian3-233/+235
Split in two, one for rx and second for tx, which is more suitable for http tunnels. Updated state names too, some of them were bit confusing. Type: improvement Change-Id: I2310deaa49196819f9d8147a5d9af188465dbd65 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-14mss_clamp: export functionsMaxime Peim1-2/+2
Type: fix Change-Id: If2b3e580c038064eca4edcdfd2fd432c8b813a6d Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-11-13http_static: api add keepalive-timeoutMatus Fabian5-23/+38
Type: improvement Change-Id: Ia1e0dcf562fd1538794542207ac2cad97d168c6c Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-13octeon: set rss flowkey after mac updateMonendra Singh Kushwaha1-0/+20
Type: fix Change-Id: I1b087b9e1e7a17ca545f960e896ca48266cdcc93 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-11-13tracenode: fix pcap capture if packet is also tracedBenoît Ganne1-7/+3
Type: fix Change-Id: Ifc259d87a086f686ce273f543632bd122b506c31 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-11-13vlib: add clib_stack_frame_get_raw()Benoît Ganne4-16/+31
clib_stack_frame_get() is getting the backtrace for all threads and does symbol resolution which is too slow for certain features (eg. memory traces). clib_stack_frame_get_raw() only gets the local backtrace and defer symbol resolution only when displaying results. Type: improvement Change-Id: Ia374d86e9175b6648a39ed5aaa676ceb7235e877 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-11-13octeon: fix compilation for octeonMonendra Singh Kushwaha3-12/+15
This patch adapts new changes introduced in vnet/dev framework as part of 61e287b9. Type: fix fixes: 61e287b9 Change-Id: I816ee9b80fca188ee799e704d08aaf3515bd57c0 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
2024-11-12sr : enable SRv6 uSID in the SRv6 APIAhmed Abdelsalam4-29/+44
Type: improvement Change-Id: I026b1a8fd1df0e6ac1dba8df78b12cde95aae419 Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
2024-11-11tcp: handle multiple syns in time-waitFlorin Coras1-1/+1
If multiple syns are received in one dispatch for the same time-wait connection, the first removes the connection while subsequent packets either lookup a nonexistent or an unrelated connection. Avoid the former with a check. Type: fix Change-Id: Ia5f1b3bbd568566eaf36121206aa12363a15b418 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-11-11octeon: add support for hmac_md5 and chachapolyKishor Dhanawade2-1/+39
Added support for following algorithms - aes-cbc hmac_md5 - chacha20_poly1305 Type: feature Signed-off-by: Kishor Dhanawade <kdhanawade@marvell.com> Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com> Change-Id: I44702483dad8182d5f15aed39c6bb42f1ca15d3c
2024-11-11sr : adding support to SRv6 uA behaviorAhmed Abdelsalam3-52/+116
Type: feature Change-Id: I81f6b07226eeaa6c3cd62487c9665629f4d2a834 Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>