aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-04-28vcl: inherit connected flag on accepted cl sessionsFlorin Coras1-0/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2d1976cb8061534a7e93d4dd2283abaf70a33f7c
2023-04-28session: update due to clib_socket refactoringNathan Skrzypczak13-114/+159
After the clib_socket_init syntax changed, the behavior of VCL socket creation was broken. This patch introduces app_namespace_add_del_v4 to address the behavioral change. Type: refactor Change-Id: Ice016bdb372233fd3317f166d45625e086e9b4df Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2023-04-27api: Mark old message versions as deprecatedOndrej Fabry1-0/+4
This change is part of VPP API cleanup initiative. Type: refactor Signed-off-by: Ondrej Fabry <ofabry@cisco.com> Change-Id: I9f0f786b50aa77383b16e0f844c85f236f7aa8d0
2023-04-27dpdk: bump to DPDK 22.11Xinyao Cai1-2/+3
This patch bumps DPDK version from 22.07 to 22.11. Type: feature Signed-off-by: Xinyao Cai <xinyao.cai@intel.com> Change-Id: I82df2c0678e1cc1b3739a5b0677f0c4a4180a489
2023-04-26hs-test: add missing make target for .deps.okDave Wallace1-0/+3
Type: make Change-Id: I8983778b4c2f5123b27aeeb1fdc4721c8e9c9160 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-04-26hs-test: remove untagged images after buildFilip Tehlar1-0/+6
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: I55731fa546df01ac4bd327b444ac1a5c2052bed1
2023-04-26build: plugin disable vat2 test2 plugin buildOle Troan1-2/+2
A plugin can set "VAT_AUTO_TEST_ OFF" to disable building of the autogenerated Type: improvement Change-Id: I856fbfd83bbc5c7df0759e550b20ac75df77d9d7 Signed-off-by: Ole Troan <otroan@employees.org>
2023-04-26ip: change icmp4 throttleOle Troan1-1/+1
traceroute sends 3 packets rapidly that triggers and depends on ICMP error generation. The current ICMP4 throttle setting at 1-e3 throttles the last ICMP error and makes traceroute sit in a timeout. Type: fix Change-Id: Ie886303600ad0374dcb6ae311e949154727a93d2 Signed-off-by: Ole Troan <otroan@employees.org>
2023-04-25crypto-sw-scheduler: fix interrupt modeAlexander Skorichenko1-0/+10
Type: fix Currently sw_scheduler runs interchangeably over queues of one selected type either ENCRYPT or DECRYPT. Then switches the type for the next run. This works fine in polling mode as missed frames get processed on the next run. In interrupt mode if all of the workers miss a frame on the first run the interrupt flag is lowered so the frame remains pending in queues waiting for another crypto event to raise the interrupt. With this fix force sw_scheduler in interrupt mode check the second half of the queues if the first pass returned no results. This guarantees a pending frame gets into processing before interrupt is reset. Change-Id: I7e91d125702336eba72c6a3abaeabcae010d396a Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
2023-04-25vpp-swan: assign src/dst port in udp encapGabriel Oginski1-1/+3
This patch add in missing src/dst port assignment in SA for udp port if encap. Type: fix Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com> Change-Id: I84219c016c5a32590aba0371c01ad8d44cbf4c5c
2023-04-25tests: fix parallel runs skipping some testsKlement Sekera1-3/+5
Fix corner case when a test would be skipped if it was not possible to start it due to insufficient cpus available in the middle of the loop. Type: fix Change-Id: Ie4580685ff55688375d649d7009131d9fe1e4f33 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2023-04-25tests: fix test-help formattingKlement Sekera1-1/+1
Type: improvement Change-Id: Ib7703359b998456bff88caee88c2734c7724bc09 Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2023-04-25tests: support multiple filter expressionsKlement Sekera3-64/+202
Support multiple comma-delimited filter expressions, e.g. to run both bfd and ip4 tests, it's now possible to do: make test TEST=bfd,ip4 Same goes for wildcards, e.g.: make test TEST=bfd,..test_longest_prefix_match,..test_icmp_error Type: improvement Change-Id: I0cceaa443cb612dca955f301c7407959f9a71a6e Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2023-04-25api: Mark old message versions as deprecatedOndrej Fabry1-0/+4
This change is part of VPP API cleanup initiative. Type: refactor Signed-off-by: Ondrej Fabry <ofabry@cisco.com> Change-Id: I26d13a697c9b70a75555c04e925e9d6aaf7ed755
2023-04-25perfmon: fix perfmon start type argumentMaxime Peim1-5/+3
When trying to start perfmon with a bundle that has a unique type while specifying that type as argument, the command fails (e.g. perfmon start bundle branch-mispred type node). This error occurs because the returned value of unformat_perfmon_active_type is actually a perfmon_bundle_type_t, but it was treated as a perfmon_bundle_type_flag_t by a test in the CLI function. However, this test is useless and thus can just be removed. Type: fix Signed-off-by: Maxime Peim <mpeim@cisco.com> Change-Id: I5d8b9815871621e8ee7b935586f4cedbc0e7a53d
2023-04-25memif: support dma optionMarvin Liu8-20/+925
Introduce async model into memif by utilizing new DMA API. Original process is broken down to submission stage and completion stage. As multiple submissions may in flight simultaneously, per thread data is no longer safe, now replace thread data into each dma data structure. As slave side already support zero copy mode, DMA option is only added in master side. Type: feature Signed-off-by: Marvin Liu <yong.liu@intel.com> Change-Id: I084f253866f5127cdc73b9a08c8ce73b091488f3
2023-04-25dpdk: code preparation for bumping to DPDK 22.11Xinyao Cai10-34/+201
This patch prepares code for bumping DPDK version to 22.11, but the DPDK version of this patch keeps at 22.07 for compatibility. the "no-dsa" parameter in DPDK configuration is removed, the "blacklist" parameter can be used to block the related DSA devices. Type: feature Signed-off-by: Xinyao Cai <xinyao.cai@intel.com> Change-Id: I08787c6584bba66383fc0a784963f33171196910
2023-04-25build: correct variable nameKoki Kiriyama1-1/+1
Type: fix Signed-off-by: Koki Kiriyama <kiriyama.kk@gmail.com> Change-Id: I47c4c91aa6f973bd93dca352f470642e90aa70e0
2023-04-24hs-test: adjust performace testing parametersFilip Tehlar1-1/+3
Apache ab sometimes fails during extensive performace testing. This patch makes sure hs-test perf tests always pass. Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: I0921682f0f07df3af45b342b9a7ddfa1af037ceb
2023-04-21tcp: remove unused codeFilip Tehlar2-7/+0
Type: improvement Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Ib188f3331696dff6357a18f5bac5f1db3cefaeab
2023-04-21rdma: fix rx CQ mask to calculate right next_cqe_indexJieqiang Wang1-1/+1
Set the mask of calculating the next cqe index to the corresponding CQ size instead of rxq size. Type: fix Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com> Change-Id: I67494f029967af64051f51452eba1fd699984cd9
2023-04-21lb: improve formatting in lb_types.apiVratko Polak1-5/+5
Type: style Change-Id: I969bc72185d3675a35cf227c60bedca20e09fdf5 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-04-20session svm: fix mq cleanupFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8519bcd76a0ade2f24b62bf69f6a103379639cb7
2023-04-20api: fix trace_plugin_msg_ids segv in trace dumpMatthew Smith2-1/+2
With 'api-trace { on }' in startup.conf, running 'api trace dump' in vppctl was causing VPP to seg fault. vl_msg_print_trace() was calling m->endian_handler() without checking whether its null. Checking if its non-null prevents a crash, but the trace dump prints the message IDs for trace_plugin_msg_ids in network byte order. There is an auto-generated endian function for that message. Set it on the call to vl_msg_api_config() for trace_plugin_msg_ids so the IDs will be printed in host byte order in trace dump output. Type: fix Fixes: fe45f8f5 Signed-off-by: Matthew Smith <mgsmith@netgate.com> Change-Id: I0ab463985e9a983155feba13ac4eb99ab883ace6
2023-04-20tcp: fix tcp packet traceFilip Tehlar1-38/+59
Type: fix Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Id4ca9a749a343c55b24f6eb4b5eb0909a57e0c23
2023-04-19session: fix app_listener memory leak if session listen failedXiaoming Jiang1-0/+2
Type: fix Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com> Change-Id: Iaa3ad87d56163396476bcaaa34e52948b9032f4e
2023-04-19lb: initialize lb_vip_add_args_tVratko Polak1-2/+2
Previously, .src_ip_sticky may have been left uninitialized. Type: fix Fixes: 613e6dc0bf928def5d337312d522e1a15df87b00 Change-Id: Ifd866d6322fe9ff723f92b7ab3fd77e720a3cfa4 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-04-18vpp: install version.hOle Troan1-0/+6
To make out of tree plugins require a particular version, they need access to the version they are built with. Install version.h. Type: fix Change-Id: I5916d0a16aed7e054ede452af956fee56cd078f0 Signed-off-by: Ole Troan <ot@cisco.com>
2023-04-18hs-test: filter relevant data from perf tests outputFilip Tehlar1-2/+15
Type: test Change-Id: I90faed91639ce1792646531cfc0cac649d737f16 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-04-18vppinfra: Multiarch support for AMD EPYC processorsSivaprasad Tummala2-2/+31
Type: feature - Added multiarch support for AMD Zen architectures Change-Id: I65d3fe94b6cc622ebecbe1ac803efa674e87c87a Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
2023-04-18vppinfra: missing static_always_inline in crc32c.hDamjan Marion1-2/+2
Change-Id: Ie7ee71af7dbbc23de3f413423070ea87fb36ed8c Type: fix Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-04-17vppinfra: SFENCE requires SSE2 to be enabledDamjan Marion1-1/+1
Change-Id: I0469bb91107cf0acced3cd19820db8d3712701c0 Type: fix Fixes: eaabe07 Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-04-17vppinfra: add AMD EPYC cpu family detailsSivaprasad Tummala2-2/+27
Type: feature - Added support for AMD EPYC processor family Change-Id: I60da87cca429117c209d240e5a5f3b4d9f4981d8 Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
2023-04-17stats: check if stats vector entry is emptyOle Troan2-0/+7
When a stats entry is removed it is marked empty. The stats client did not check for that and returned an empty string. This resulted in blank lines in vpp_get_stats. Fix by returning null instead and checking value. Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I08a39ba3ef4421bf275747a6300f97fe36791b50
2023-04-17vppinfra: native poly1305 implementationDamjan Marion5-6/+544
Type: feature Signed-off-by: Damjan Marion <damarion@cisco.com> Change-Id: Ic170464d7c63f243e7e676567d41d800647ebec3
2023-04-17build: add scalar (no-simd) march variantDamjan Marion4-3/+18
for testing purposes, disabled by default Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com> Change-Id: Id616e2b3b21ae0f0b44e2b55ecefd501afacc7f2
2023-04-17vppinfra: table based crc32c for targets without crc32c instructionsDamjan Marion1-0/+71
Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com> Change-Id: I45cef390c72f2102c8c3d94f49bed7d0e0e0d7b2
2023-04-17vppinfra: add format_hexdump_u{16,32,64}Damjan Marion2-0/+69
Change-Id: I0eeccfc5739276d58a81a6552a043c6c105fe67a Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-04-17build: few more .gitignore entriesDamjan Marion1-0/+12
Change-Id: I833151c077bf054de6b09fff1180570e32a1ecaa Type: improvement Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-04-14linux-cp: Handle RTA_VIA routes.Adrian Pistol1-2/+3
RTA_VIA allows routes to have a next-hop in a different address family. This commit makes linux-cp import those types of routes correctly, instead of importing the routes without a gateway. This uses rtnl_route_nh_get_gateway, which is available since libnl 3.4.0 (Oct. 9, 2017). Even Debian Stretch has it via backports. Type: fix Change-Id: I06297c700461ba7874eb8baf9355bd40990b3121 Signed-off-by: Adrian Pistol <vifino@posteo.net>
2023-04-13nat: distribute nat44-ed in2out sessions by rx vrfVladislav Grishenko1-1/+3
Nat in2out sessions are distributing among workers by client addresses. In case there's multiple client vrfs with very similar client addresses (usually from rfc1918), session distribution/load can be unfair just due similar hash. Let's take dynamic client fib_index into account, it'll affect external port range only, outside address picking has own address-based hash therefore not affected. Type: improvement Change-Id: I56ab2e1ce8dd27f2b1f9e7f22839ccf7774bfb82 Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
2023-04-13nat: fix the wrong unformat typeTed Chen2-2/+2
The unformat type for "%d" should be u32 or int. Type: fix Signed-off-by: Ted Chen <znscnchen@gmail.com> Change-Id: I2483df6259ed8d3c7648c8db6345e5063ac8b57e
2023-04-13nat: adding a new api nat44_ed_vrf_tables_v2_dumpDaniel Béreš2-0/+76
Adding api nat44_ed_vrf_tables_v2_dump which may replace nat44_ed_vrf_tables_dump in the future. - fixing endianess Type: improvement Signed-off-by: Daniel Béreš <daniel.beres@pantheon.tech> Change-Id: I40d09ea3252589bdcb61db9f1629dacd87f69978
2023-04-12vlib dhcp: default to logging without elogsFlorin Coras1-1/+1
Some components, like dhcp, log constantly changing strings which in turn forces elog string table to grow unbound. To avoid this, as a workaround, only turn on elog logging if requested. Actual fix that adds configuration for logging subclasses should come in a later patch. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie8b26251fb7115d866c2bd65353daa33cdab1ab6
2023-04-12ip: punt socket - take the tags in Ethernet header into considerationAndrew Yourtchenko2-1/+84
The punt socket code rewinds the current_data pointer by sizeof (ethernet_header_t), which is incorrect if the header is tagged - resulting in truncated destination MAC address. Use ethernet_buffer_header_size() instead, which takes tags into account. Also add the unittest that verifies the issue and the fix. Type: fix Change-Id: I6352a174df144ca1e4230390c126f4b698724ebc Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2023-04-12misc: change of addressMohsin Kazmi5-9/+9
Type: style Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: Ie02d068122ab8f2c6049754f28722d851ae9b3f1
2023-04-11linux-cp: don't create tap for non-eth ifacesStanislav Zaikin1-0/+8
Creation of lcp tap for non-ethernet interfaces can potentially lead to a crash, so avoid it. Type: fix Change-Id: I76ded8a08ea38a2c31d0215804af023207d4d3e1 Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2023-04-11rdma: disable compressed CQE mode for txq CQJieqiang Wang1-3/+1
Previously we encountered the issue of failing to create completion queues on some Arm platforms because DPDK may set MLX5_CQE_SIZE to 128 if DPDK MLX PMDs are built and DPDK plugin is loaded, which does not satisfy the requirement of 64B size CQE by RDMA plugin. We fixed this issue in 844a0e8b0("always use 64 byte CQEs for MLX5"), but some of CSIT test cases failed due to this code change. It turns out that we don't need to specify compressed CQE mode for txq CQ because RDMA tx doesn't have the code logic to handle compressed CQEs, which might cause unexpected behavior if it is enabled. Type: fix Fixes: 844a0e8b0 ("always use 64 byte CQEs for MLX5") Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com> Change-Id: I7909a6d44b15bcf39c15dfac9377b65520a0cbfb
2023-04-10vlib:process node scheduling use timing_wheel have problem.jinsh2-2/+6
The time wheel should not be started in the loop while processing expired events. can be set p->stop_timer_handle = ~0 to solve. Type: fix Signed-off-by: jinsh <jinsh11@chinatelecom.cn> Change-Id: Ie9a4293f39f981f50d280b39a5d958d319ee2300 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2023-04-06vlib: reset stop_timer_handle on expired processesMatthew Smith1-8/+23
Type: fix The main loop populates a vector of suspended process nodes to dispatch by calling TW (tw_timer_expire_timers_vec), which identifies expired timers and appends the user handle for each one to the vector. Subsequently, the vector is iterated and the process node corresponding to each handle is dispatched. The vast majority of the time, the process node will end up suspending itself again to wait for a new timer or event. Given a process node A whose timer has expired, between the point when the timer expired and the point when A is dispatched and suspends itself again, its stop_timer_handle contains a stale value. If another process node B is dispatched before A is dispatched, it may end up using the timer ID that A formerly used. If another process node C is dispatched after B and before A and calls vlib_process_signal_event() to signal A, the timer started by B can be deleted by vlib_process_signal_event_helper(). After getting the vector of process node IDs for expired timers, reset the stop_timer_handle on each of those nodes. Change-Id: I266da438e76e1fc356016da0b9b4941efac1c28a Signed-off-by: Matthew Smith <mgsmith@netgate.com>