aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-07-29http: client code improvementMatus Fabian9-165/+626
Client app can sends request target, custom header and body to HTTP layer. In response it receives all bytes as received from transport, aditionally we provide offset and length of headers and body. In addtion client app is now able to receive response with all status codes and Host header field is set in request at protocol layer. Type: improvement Change-Id: I8c8e2c8f99cdf500126b7c2c722aebc254aa0d9f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-27tcp: CLI command to print tcp_cfgAritra Basu1-0/+68
Type: improvement Change-Id: Ie8f6ddc96fd3f5d44827ace834f8f6baa330d37d Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-07-26tcp: improve tcp listener CLIAritra Basu3-0/+18
Type: improvement Change-Id: I11dc43bdf65cecfa5c48ac734a4727b377023c80 Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-07-25hs-test: fix docker warning messageAdrian Villin2-2/+5
Type: test Change-Id: I156b6d9e0759bc7d324ac7d618a195ee5803ca75 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-24hs-test: check container state after startupAdrian Villin2-2/+25
- tests will now fail if a container exits right after startup - fixed MirroringTest (still broken with multiple workers) Type: test Change-Id: I47b51c2bcf53f535aa2d06c2f5b09a9559631117 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-24hs-test: fix logs once againAdrian Villin1-6/+6
- "/dev/null" and "tail: ..." messages should now be removed properly Type: test Change-Id: I4aa1f1a1cab17dab73f727e40c80a44d6e753bd5 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-24prom: test_prom fixMatus Fabian1-0/+1
Type: test Change-Id: I022a3435429976590b8e8e2e1abe924188d1c3f9 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24hs-test: update envoyAdrian Villin2-1/+3
- v1.21 -> 1.30 Type: test Change-Id: Ib79a4addc0a93089c41c13abffc3e8f0af4c0d91 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-24prom: mem leak testMatus Fabian1-5/+45
Type: test Change-Id: Ibca5680778c9e27eb7b1ddbdba52f870852452fe Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24http_static: fix coverity warningMatus Fabian1-1/+1
Type: fix Change-Id: Ie4af8ec0c6089b5719899f3d0b670f8a2de7f8a2 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24session: delete and add application namespace do not create the global ↵Steven Luong5-93/+56
session table When an application namespace is added, we call session_table_is_alloced to see if we need to allocate a new session table. That check returns true even if we removed the session table. The fix is when we delete an application's global session table, we need to invalidate fib_index_to_table_index. Fixed test_vcl test script to run two tests back to back. The 1st test deletes the application namespace at the end. The 2nd test adds the application namespace in the beginning. Type: fix Fixes: 67bae20b05cb46e5f6d19afeaf1f7a52a5309d59 Change-Id: I67f5cc1b726a07659597a9479df011717db08d0a Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-23prom: concurrent connections fixMatus Fabian3-5/+42
Type: fix Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23http: state machine fixMatus Fabian5-4/+287
When client sends second request without waiting for response of the first request http_ts_rx_callback should drop request (pipelining is not supported) instead of invoking return to state machine which can lead to erroneous state, e.g. reading random data from server app fifo. Added simple http static server url handler for testing to simulate long running request processing, for now hardcoded delay 5 seconds. Type: fix Change-Id: Ied9f7e2e4ee64c982f045c0f7f99a2dc5d7a2108 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23http: return more than data from server appMatus Fabian15-153/+651
Server app could return headers in front of body/data buffer. Offers apis for building and serialization of headers section. HTTP layer now only add Date, Server and Content-Lengths headers, rest is up to app. Well known header names are predefined. Type: improvement Change-Id: If778bdfc9acf6b0d11a48f0a745a3a56c96c2436 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23vppinfra: get_mempolicy instead of move_pages for mem initFlorin Coras1-19/+6
Use get_mempolicy instead of move_pages to detect numa nodes. Avoids issues whereby move_pages could stall if another rt thread spin waits instead of yielding the cpu. Type: improvement Signed-off-by: Tatsushi Kanemoto <t-kanemoto@fujitsu.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7db2073ed82bb0b1e707130d9bd8f54bea333840
2024-07-23ip: crash in ip4_sas_commonlenSteven Luong1-0/+2
ip4_sas_commonlen may be called with null a2 argument from ip4_neighbor_advertise -> ip4_sas_by_sw_if_index. If a1 or a2 is null, there is no common length, shortest mask between a1 and a2, return 0 instead of crashing. Type: fix Change-Id: I307509ee7dedafac76d8877a1ef76ab8bbafef59 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-22hs-test: memory leak testingMatus Fabian8-2/+223
add infra for memory leak testing Type: test Change-Id: I882e8dbb360597cdb82ad52682725f7d39b2df24 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-22misc: replace index() with strchr()Matus Fabian4-4/+4
Type: improvement Change-Id: I471e514ebef0b4c1f86067115b2ebe5a5517c6fb Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-22vlib: add "save memory-trace" debug CLIMatus Fabian1-0/+106
Save memory traces of the currently traced heap in JSON format to file which can be used as machine-readable data for memory leak diagnose. Type: improvement Change-Id: I277f5be5838510e907c4dd7a8a4e9a883cb67bc3 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-22vppinfra: expose raw memory tracesMatus Fabian2-15/+34
Add clib_mem_trace_dup which return copy of memory traces and can be used to save memory trace in different formats. Type: improvement Change-Id: I731860cdc65e6c5255620a6778ce6c893a493b1d Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-19session: show session rules does not display ip6 entriesSteven Luong1-6/+33
1. Adding an ip6 rule entry session rule add proto tcp ee80::/10 0 ee80::/10 0 action 2 2. show session rules does not display the entry. show session rules tcp 3. However, show session rules for a specific entry shows the entry show session rules tcp ee80::/10 0 ee80::/10 0 Type: fix Change-Id: I65c881665d3698a2a9452a186ed657eee0bf13e0 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-19hs-test: fix docker log output when logs are emptyAdrian Villin1-1/+8
- removed "==> /dev/null <==" and "tail: cannot open..." lines when docker logs are empty Type: test Change-Id: Ia51f7aa41d2c6c04c0adcb82142abfd45fbe2728 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-19ipsec: fix integer overflowFan Zhang1-1/+1
Type: fix Coverity issue: 394440 Change-Id: I915a088145ee1317a7c8746b517f4af50323aa11 Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
2024-07-18pg: fix pcap packet type when writing pcap fileDave Wallace2-1/+16
- fixes incorrect pcap packet type for packet generator interfaces configured in ip mode. - corrects pcap file decode for pg output files - fixes scapy versions > 2.4.3 which now appear to use the packet type in the pcap file header which had been ignored in earlier versions Type: fix Change-Id: Idb1e3f8fbc7ca938fb5d2aaa72365e333c0ea2e9 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-07-18tests: output raw packet data when decoding pcap filesDave Wallace1-1/+1
Type: test Change-Id: I4e945b2bd067466afdaa58a6f07a1ab2c567bc2b Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-07-18vppinfra: fix cpu freq init error if cpu support aperfmperfXiaoming Jiang2-2/+6
After linux-v4.15, 'cpu MHz' in /proc/cpuinfo is CPU real frequency on x86 if cpu support aperfmperf flags more see linux commit: https://github.com/torvalds/linux/commit/7d5905dc14a87805a59f3c5bf70173aac2bb18f8 Type: fix Change-Id: Ib655a9a1c519104142120b343cd8ddbe0b6e50e6 Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
2024-07-18vnet: print Success for API errno 0 instead of UNKNOWNKlement Sekera1-0/+4
Type: improvement Change-Id: I8c5bfc82c1db1213eb43072853f8500ce1d2ee92 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-07-17hs-test: use docker sdkAdrian Villin8-101/+340
Type: test Change-Id: I9d6b15ca6a9aac3343e10f480dec43c4c538f1b7 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-17hs-test: minor cpu pinning suite improvementsAdrian Villin3-16/+29
- added max cpu check for CI - added a check for Ip4AddrAllocator: fixes a case where teardown panics if a test crashes before allocator gets initialized Type: test Change-Id: Ica12366cd79d77801964dfbdc8ee7c9969b4a9ce Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-17hs-test: exit immediately if docker build failsAdrian Villin1-2/+2
Type: test Change-Id: I299d023ce59b931697352c54e4796ba0af2ab1af Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-17vppinfra: Add macro for targeted prefetchingNiyaz Murshed1-0/+24
In Arm platform, targeted prefetching[1] is supported. Adding this in infra to use it in future optimisation. [1] https://developer.arm.com/documentation/101458/2404/Optimize/Prefetching-with---builtin-prefetch Type: improvement Change-Id: Id3e2a274628289707840a6b2ba4b83c5e4add60b Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com>
2024-07-17session: memory leak on rule tagSteven Luong1-0/+1
Type: fix Change-Id: If07a6a420d467e6305f166ed250f84befe9f983d Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-16session: memory leaks on rule tag hash tablesSteven Luong1-0/+3
Type: fix Change-Id: Id8542ad74389eca4cc7903cd455f556743a5e0cf Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-16tls: track app owner of transport sessionFlorin Coras2-1/+4
Allow other apps to own transport sessions for tls. Type: improvement Change-Id: Ida04cef1dc49acb7117cbed8657e26890bf43d2a Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-07-15session: crash in session_rule_add_del if session is not enableSteven Luong1-0/+7
Invoking the API session_rule_add_del to add a rule causes VPP to crash if session is not enable. Type: fix Change-Id: If8de83f1064bc60d20461e87889b7c3393ad2af1 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-15session: application namespace may reference a deleted vrf tableSteven Luong7-5/+148
lock the vrf table when adding an application namespace and unlock the vrf table when deleting an application namespace. Free the session table when no more application namespace uses it anymore to avoid memory leaks. Type: fix Change-Id: I10422c9a3b549bd4403962c925e29dd61a058eb0 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-15tests: more options for decoding pcapsKlement Sekera4-18/+26
Introduce "none", "all" and "failed" options for --decode-pcaps parameter. Keep "failed" as default to be consistent with current behaviour. Add missing documentation to test/Makefile and passthrough to Makefile. Rationale: running tshark binary takes about 100-150ms and if there are thousands of pcap files, it takes minutes to decode them. This might not be desirable if rerunning the tests repeatedly during development. Type: improvement Change-Id: Ie033521d51d18b9d499b9bc40fe6eff21c94622d Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-07-15octeon: fix link down issueAlok Mishra1-0/+12
An issue is noticed when the link state of the ethernet interface is toggled to down and again brought up. The link status shows "up" in the "show interface", but shows "down" in "show hardware-interface". This issue does not occur when the link is brought up for the first time, but only manifests when the interface is brought down and up again. This happens because the device status and VNET_HW_INTERFACE_FLAG_LINK_UP aren't correctly updated during the port stop, preventing them from being updated during the port start. This patch fixes this issue in the port stop function. Type: fix Fixes: 01fe7ab88e Signed-off-by: Alok Mishra <almishra@marvell.com> Change-Id: Idbc5a6c31409a3d1c5b19e14a3c9509291175677
2024-07-12tests: skip more excluded plugin testsDmitry Valter68-0/+351
Check and skip VPP_EXCLUDED_PLUGINS tests for most of plugins. Type: improvement Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: I23fd3666729251c639aa8da72a676058e3f5bb4e
2024-07-12build: overwrite clang-format version on Ubuntu 24.04Jay Wang1-0/+2
clang-format-11 is used by default in checkstyle.sh while it can be overridden to higher clang-format version. On Ubuntu 24.04, the minimum version of clang-format is version 14. Set the environment variable explicitly in Makefile to overwrite the clang-format version. Before: $ make checkstyle extras/scripts/checkstyle.sh: line 41: --version: command not found make: *** [Makefile:775: checkstyle] Error 127 After: $ make checkstyle Ubuntu clang-format version 14.0.6 ******************************************************************* * CHECKSTYLE SUCCESSFULLY COMPLETED ******************************************************************* Type: fix Change-Id: Iba3e4739c9376701577b2f37e070d199b195e7d0 Signed-off-by: Jay Wang <jay.wang2@arm.com>
2024-07-12build: Fix crossbuilding definitionsRenato Botelho do Couto1-7/+8
CMAKE_C_COMPILER_TARGET doesn't need to be set when it's not cross compiling, and based on wrong identation of that line I suspect it was intended to be inside CMAKE_CROSSCOMPILING conditional. With this line moved inside, it ends up being the only place where COMPILER_SUFFIX is used, so, move its declaration there as well. It will not bring any change to currently supported systems but will make it easier to build VPP on systems running musl libc. Type: fix Change-Id: Ia8e16d9e8ad9c987ddf246dd0e3f8636ccad1362 Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2024-07-12build: ubuntu-24.04 install-deps package listDave Wallace1-2/+6
- support for ubuntu-24.04 CI jobs Type: make Change-Id: I225d72e22207283de9979cce75d8d208ab99feb5 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-07-12fib: fix covered_inherit_addMaxime Peim2-2/+57
When a FIB entry has multiple sources installed by covering inheritance, the first walk installs the covering source, which can be worse than the already used one (hence the source is not activated). If a covering path is added and a new fib cover walk is done, the deactivated source is compared to itself. This operation calls for a reactivation of the source which was not activated in the first place. Type: fix Change-Id: I2639401bed14eb5a2cb003664c04d6c1f9130de9 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-07-12ip6: fix icmp error on check failMaxime Peim1-83/+62
Avoid to do fixup either if TTL or MTU check fails. It rewrites the icmp header copied in case the ip6-icmp-error ran before. Type: fix Change-Id: If043d1cae35c41ebf70ba979883119604bee883d Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-07-12fib: improve ipv6 fib scalingBenoît Ganne4-406/+203
VPP IPv6 FIB relies on 2 bihash for all its VRFs: 1 for control plane and one for data plane. Because of that, control plane VRF walks time grows with the number of VRFs as it has to go through all the VRFs. In order to improve control plane performance with large number of VRFs, the control plane data structure is changed from a global bihash to a per-VRF hashtable, similarly to IPv4. Contrary to IPv4, there is only 1 hashtable per VRF and not 1 hashtable per prefix-length per VRF, which is a compromise between memory consumption and single VRF scaling. Type: improvement Change-Id: Ib738a44adb88e46c95c4c62c853ee1f1392c7187 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-07-12fib: make mfib optionalBenoît Ganne14-46/+167
In some cases we do not need multicast support. Making it optional helps scaling to high number of VRFs, by reducing the control plane operations and memory consumption. Type: improvement Change-Id: Ib34ed3fe2806e2f4624981da4e4a3c49c69f70be Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-07-12fib: log an error when destroying non-empty tablesBenoît Ganne4-12/+12
Destroying a non-empty fib table can lead to difficult to diagnose bugs, like dandling fib entries preventing entries to be inserting to the mtrie. Always log an error to help diagnose those issues. Type: improvement Change-Id: I2c771a80595035b440931b74cca4429af22161a2 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-07-10hs-test: quick fix for CpuPinningSuiteAdrian Villin1-1/+8
Type: test Change-Id: Iaed08fe23a63562c99012bd469ca3f3271be2564 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-10session: deleting an application namespace cleaning up the wrong applicationSteven Luong1-1/+1
We call application_namespace_cleanup to remove the application which has a reference to the application namespace when deleting an application namespace. When we find the matching application namespace, we queue the ns_index instead of app_index to look for the application. This may lead to a crash. Type: fix Change-Id: I89c7f8d1681b4c7c1bcb16641217230a26dbe582 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-07-09hs-test: Add CPU pinning test suiteHadi Rayan Al-Sandid6-12/+201
Type: test Added suite to verify that VPP launches with provided CPU pinning configurations. CPU configuration is specified per-test. Change-Id: Ic283339676d3b24636fc21156a09a192c1a8d8da Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>