summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-02-15build: add fib configuring optionBenoît Ganne1-0/+14
Allow to select 8-8-8-8 or 16-8-8 mtrie FIB implementation. Type: improvement Change-Id: I2f4aec8bfec987d3f3d9f9cc5a16fabf4b6cc2ac Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-02-15hs-test: improved loggingadrianvillin10-41/+94
- improved readability of some error messages - printing container logs to stdout on test failure (last 20 lines) Type: test Change-Id: Idbb358bdd89aa7b1a6bdc9d96bf029d4c299ce64 Signed-off-by: adrianvillin <avillin@cisco.com>
2024-02-14tests: refactor virtual interface testsNaveen Joy17-98/+718
Split virtual interface tests in VPP into smaller and modular tests for testing various interface types and features. Type: test Change-Id: Ic38af88379f75eee3090679d411edbdc8fd5d2e5 Signed-off-by: Naveen Joy <najoy@cisco.com>
2024-02-14tls: fix compilation errorNiyaz Murshed1-1/+2
After changes done in https://gerrit.fd.io/r/c/vpp/+/40281 , mbedtls plugin is failing to build if enabled. Discussion https://lists.fd.io/g/vpp-dev/topic/104344802#24060 Type: fix Signed-off-by: Niyaz Murshed <niyaz.murshed@arm.com> Change-Id: Iee58b69301ac64f058bca0a7f7a0dedd2def4b35
2024-02-14ikev2: dump state and profile name in CLI and APIDenys Haryachyy6-2/+344
Type: improvement Change-Id: Ide4b45da99e3a67376281f6438997f3148be08e5 Signed-off-by: Denys Haryachyy <garyachy@gmail.com>
2024-02-13vcl: fix epollet test for unhandled evtsFlorin Coras1-1/+1
Argument to vcl_epoll_ctl_add_unhandled_event is often the result of an and between events and EPOLLET which is larger than u8 Type: fix Change-Id: I8c98f557fa1db9f3eb79c90ecdd60ac9366d4d40 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-02-13svm: Add FreeBSD specific signal handling pathTom Jones1-0/+5
FreeBSD's siginfo_t doesn't have the ptr value used on linux to encode a token. Fow now recover the code from siginfo_t and leave the opaque value as 0. Type: improvement Change-Id: Ic6ef96f018b326b99d68534a4488cfc49fdf16e1 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Put clib_perf* behind Linux checks and provide stubs for FreeBSDTom Jones2-0/+38
As a placeholder stub out clib_perf functions on FreeBSD, the interface for performance counters on FreeBSD is different and will require its own implementation. Type: improvement Change-Id: I61511ebe5ee1fd6fe93d3179c7843c811f47a846 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Add netlink header on FreeBSDTom Jones1-1/+3
FreeBSD has support netlink since 13.2, but keeps its header in a slightly different place. Correctly include netlink/netlink.h for FreeBSD. Type: improvement Change-Id: Iec78ca72db74ea7f9c874e7039c7d17b6321f9dc Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Protect Linux specific features behind CLIB_LINUXTom Jones1-2/+4
Place Linux specific features behind CLIB_LINUX. The previous #ifdef calls would still pass even if CLIB_LINUX is set to 0 in clib.h, instead use #if. Type: improvement Change-Id: Ibe4424eee4bc0065f54764b017b9a56a3e854380 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13build: Limit external libraries on FreeBSDTom Jones1-0/+10
Limit the libraries we build on FreeBSD. This change intends to get us closer to building on FreeBSD, DPDK will require a larger set of changes so remove it until those changes are ready to integrate. Type: improvement Change-Id: I0f672a2b5bc30f2228020049fa71a81a2569ef54 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13svm: Include stdint on FreeBSDTom Jones1-0/+3
On FreeBSD we need to include stdint.h to get __WORDSIZE. Type: improvement Change-Id: I784aa0856fd8298f33016b7ccedecfa3672d5429 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Make program counter printing more portableTom Jones1-0/+8
Finding the program counter in the ucontext struct is platform and architecture specific, place the Linux checks inside an #ifdef and add a look up for the FreeBSD amd64 specific naming. Type: improvement Change-Id: I42fcef5f20227c23d84acee336e37c4870146bb4 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vnet: Don't use __unused for struct paddingTom Jones1-1/+1
__unused is a clang keyword, this struct member will trip the build when using clang. Instead call the unused padding 'pad' which should be clear to the purpose if not the usage. Type: improvement Change-Id: I0abae34841651be1ef6b7d94864f0dc8185f0733 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Add a stubbed out test_perf function for FreeBSDTom Jones1-0/+6
Type: improvement Change-Id: If136e0854dbaecfa62fc009ca2b0b94e8d9a56f2 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: MAP_HUGETLB isn't available on FreeBSDTom Jones1-0/+2
Don't use the MAP_HUGETLB mmap flag on FreeBSD as it isn't available on the platform. Type: improvement Change-Id: Ie2046601c693f9ef12cf8113d6dbd87c322f1cf0 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Only prealloc hugepages on LinuxTom Jones1-0/+2
FreeBSD doesn't support sysfs or preallocating hugepages directly. In lieu of refactoring clib_sysfs calls place this one behind an #ifdef linux. Type: improvement Change-Id: I4079ca70175e4cec44d913db2b0407a3ca6306c9 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Don't build perfmon on FreeBSDTom Jones1-3/+4
FreeBSD has platform specific APIs for interfacing with performance counters. Until we bring in FreeBSD support, don't build perfmon on platforms which aren't linux. Type: improvement Change-Id: Iabc418922c0d2e851c6098508761135f53433ae8 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-13vppinfra: Place SIGPWR behind a linux defineTom Jones1-0/+2
The SIGPWR signal is specific to Linux, place it behind a Linux flag to help the build on FreeBSD. Type: improvement Change-Id: Ie36c2ceb201afff98e92bbe64595c3953b11c457 Signed-off-by: Tom Jones <thj@freebsd.org>
2024-02-12fib: contention with DP on deleting a routeSteven Luong1-0/+1
Add vlib_worker_wait_one_loop prior to invoking dpo_reset upon uninstalling a fib entry to avoid contention with DP. Type: fix Change-Id: If2a6c4cb9b5629dd61e506ab9f9c3e6aef121b45 Signed-off-by: Steven Luong <sluong@cisco.com>
2024-02-12af_packet : fix crash on interface creationhsandid1-4/+6
Type: fix Attempting to create a host-interface with an invalid af_packet name causes a crash, as we attempt to read the contents of a null ptr. Change-Id: Ia31ae21684c2b66baa1ceaadf29e19fae33c4ed4 Signed-off-by: hsandid <halsandi@cisco.com>
2024-02-12buffers: bring back cache occupancy improvementVratko Polak1-0/+4
The improvement was removed in 40129, causing 5-40% regressions in AVF tests. There is a memory-speed trade-off, this change prefers speed over memory efficiency. Ideally, the choice should be configurable, but that is not easy to achieve, considering how early is vlib_buffer_main_init called. Type: fix Fixes: 038dad7ef29b0b724071edb5f8cc7a9845584454 Change-Id: I4746f3634abe6d233c9d092a372de05b3d1ae4b6 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-02-12ip_session_redirect: export symbolsBenoît Ganne2-2/+5
Add/del functions can be used from external modules. Type: improvement Change-Id: I267bcfacd58970bcacae13744d8acc690b87d2fc Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-02-09ikev2: accept rekey request for IKE SAAtzm Watanabe4-48/+417
RFC 7296 describes the way to rekey IKE SAs: to rekey an IKE SA, establish a new equivalent IKE SA with the peer to whom the old IKE SA is shared using a CREATE_CHILD_SA within the existing IKE SA. An IKE SA so created inherits all of the original IKE SA's Child SAs, and the new IKE SA is used for all control messages needed to maintain those Child SAs. Type: improvement Signed-off-by: Atzm Watanabe <atzmism@gmail.com> Change-Id: Icdf43b67c38bf183913a28a08a85236ba16343af
2024-02-07udp: add cli to dump transport portsFlorin Coras1-0/+92
show udp transport ports Dumps list of ports registered by udp transport, as opposed to udp local, and their refcount. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If3cbe51a7176cb89fa38b524defffbbd76af8f58
2024-02-02session: guard session lookup table allocsFlorin Coras2-0/+37
Session lookup tables could be allocated from workers, e.g., connects are done from first worker. Make sure consumers are not affected by stopping workers. Type: fix Change-Id: I63b53c58b41ce91b08f50a2325c69c9f9fd25ed3 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-02-02vlib: flush rpcs on worker syncFlorin Coras1-0/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I89624254649089e497d119eb6cee2cecf3dc11f3
2024-02-02vlib api: move wrkr rpc flushing to vlibFlorin Coras5-21/+18
Move vlib worker rpc flushing to main worker from memclnt api into vlib. RPCs are no longer delivered via binary api queues Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I5b8761a57d1f4a1f2220e860cfb2e6b980f46f6d
2024-01-31tls: set app closed flag in frameworkFlorin Coras2-2/+1
Set the flag in tls framework as opposed to tls engines. This is similar to passive close. Type: improvement Change-Id: I0c2a774b1ef9d7ec6ba74daf1678ea449815184f Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-01-31tls: convert ctx fields to connection flagsFlorin Coras5-36/+40
Type: refactor Change-Id: I527bbc1cf2e7b6d06fd0c88b7563fb59ed28bc40 Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-01-30linux-cp: add add_del_v3 and get_v2 methodsAnton Nikolaev2-6/+108
Added vl_api_lcp_itf_pair_add_del_v3_t_handler method, it can return vif_index in reply. Also added vl_api_lcp_itf_pair_get_v2_t_handler methods, this method is able to dump only one lcp pair or dump all lcp pairs via stream_msg. Type: improvement Change-Id: I1d25344ee57f8fac8b857bb3a9a03116230b4d2c Signed-off-by: Anton Nikolaev <anikolaev@netgate.com>
2024-01-29api: provide api definition over apiOle Troan10-29/+968
This patch allows a client to bootstrap itself by downloading the JSON API definitions over the API itself. This patch enables it for Python (probably need a dynamic language). Call VPPApiClient with the new bootstrapapi=True parameter. Example (Python): from vpp_papi import VPPApiClient vpp = VPPApiClient(bootstrapapi=True) rv = vpp.connect("foobar") assert rv == 0 print(f'SHOW VERSION: {vpp.api.show_version()}') vpp.disconnect() Type: feature Change-Id: Id903fdccc82b2e22aa1994331d2c150253f2ccae Signed-off-by: Ole Troan <otroan@employees.org>
2024-01-29hs-test: update docs on debuggingFilip Tehlar1-0/+15
Type: docs Change-Id: I3bd89feb53a35532c79283bcdac2c87635c60920 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-29hs-test: use relative paths for docker volumesFilip Tehlar7-17/+22
Type: test Change-Id: I9d5c15662e50ceea08d2ccc653db36c5e3df869e Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-29ip: don't export useless error counters for ip6 rewriteArthur de Kerhor2-2/+4
the error node is set to ip6_input in the inline funcition associated with ip6_rewrite. Thus, error counters defined for node ip6 rewrite are never used. Type: fix Change-Id: Id6bef633928b0fff9069498c2e39e9f5bea2cf9b Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2024-01-26hs-test: updated golang and packagesadrianvillin3-31/+38
ioutil.ReadFile is deprecated, replaced with os.ReadFile Type: test Change-Id: I9f8075796d05d47ea4dddd7e986026a267a7fe0c Signed-off-by: adrianvillin <avillin@cisco.com>
2024-01-25udp: update rx sw_if_index to ip-local selected oneFlorin Coras1-0/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0afd1b9ddbc17825aab3bfa3e5f9c6c0fbc561ca
2024-01-24misc: Initial 24.06-rc0 commitv24.06-rc0Andrew Yourtchenko2-1/+1
Type: docs Change-Id: Ia459d5ba6f7da3081192c6aba156e66fb2d6377c Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2024-01-23vppinfra: fix clib_array_mask_u32 OOB readsDmitry Valter2-7/+28
Handle non-even n_elts for the larger array instead of reading past the source buffer. Type: fix Fixes: f62ed3f9c1ec3e8db36f63d6a54f46b7bea43723 Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: Ic1708a3f33fe71ca752345b5c77b6ae7a2d42bcd
2024-01-23tls: fix ho leak on tcp connect returnFlorin Coras1-1/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I40345d635b8067dcffbbdd39d0a5b0c0934a6d54
2024-01-23papi: support old style of providing apidirVratko Polak1-1/+4
77caeb1b193404e76beb27a1aa81321e8eb1cf1f has changed the behavior in an incompatible way, breaking users (including CSIT). The new behavior is more pythonic, but the old behavior has to be supported at least one release after publicly deprecating it. Type: fix Change-Id: I9dfdd2229065010216e49db80b14b856c545965c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2024-01-23tls: overlap parent opaque with listener ctxFlorin Coras1-5/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0a0d0b8721f5a15da47c7ac0e58cd50e159b2f54
2024-01-23tls: set flag whenever app session is freedFlorin Coras1-5/+9
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3d44ff851da00573343e15712284af3b9c3912e3
2024-01-22session: flag instead of state for filtering ntfFlorin Coras1-2/+2
Avoid situations when notifications are delayed for long enough for transports to start closing/cleaning up. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id35b0099adb5242108154a5e19d5ee15e6ca0058
2024-01-21build: Explicitly use gmakeTom Jones5-38/+37
VPP requires GNU Make to build, on GNU systems (such as Debian), GNU Make is installed as 'make', typically with a symlink from 'gmake'. On other systems (such as FreeBSD), 'make' is a BSD Make derriviative and GNU Make is installed a 'gmake'. Use $(MAKE) variable for make calls from within Makefiles. This variable is set to the path of the calling make program, i.e., /usr/local/bin/gmake on a bsd system. This is the recommended way to call make from Makefiles in the GNU Make documentation. Type: improvement Change-Id: Id9162a34a0f8358f22090718087918dae31c0fce Signed-off-by: Tom Jones <thj@freebsd.org>
2024-01-20buffers: add compile-time option to set buffer alignmentDamjan Marion5-8/+11
Type: improvement Change-Id: I88c4c45bed0bdd8686e17e4f77a7d32a08c995aa Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-01-19build: disable plugins which require openssl if openssl is not availableDamjan Marion4-0/+21
Type: improvement Change-Id: I4591fcb31dd28d1771b3d6e5afdaa14f29efe6ef Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-01-19build: fix default platformBenoît Ganne1-0/+1
When unsetting VPP_PLATFORM in cmake, it unmasks the cached value instead, misleading the platform selection logic in src/cmake/cpu.cmake Type: fix Fixes: 01fe7ab88e Change-Id: I676cd0af9ba28150f8ac07724c03df8ef24b640f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-01-19hs-test: change convention for skipping testsFilip Tehlar3-5/+16
Also re-enable external echo QUIC test. Type: test Change-Id: I3973409c31fd7c42b97ac3ceae1a5cbad6f1b2b6 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-19vppinfra: fix test_bihashDmitry Valter1-2/+2
Correctly wrap data indices in test_bihash. Type: fix Signed-off-by: Dmitry Valter <d-valter@yandex-team.com> Change-Id: I740fa1cf9f8c382c12f01f607095c5995be6845f