Adrian Villin [Thu, 22 Aug 2024 08:35:19 +0000 (10:35 +0200)]
hs-test: fix incorrect exit status
- exit status was incorrect when tests didn't compile
- better summary formatting
- removed "full stack trace: null" from summary when a test times out
Type: test
Change-Id: Idd6b6bf3429fc8b704dd2345d257e9bdce1b82b7
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Thu, 22 Aug 2024 07:35:59 +0000 (09:35 +0200)]
hs-test: fix after merge
Type: test
Change-Id: I2a1d35a9e7a6c8e8026388a0baacbc18310f0ba1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Hadi Rayan Al-Sandid [Thu, 1 Aug 2024 15:10:54 +0000 (17:10 +0200)]
misc: move osi to plugin
Type: refactor
This patch moves osi into a plugin, and also modifies
the init functions of llc and snap to preserve init
order dependency (llc_init --> osi_init --> snap_init).
While the initial intent was to move osi/llc/snap together
into a single plugin, there exists a dependency on llc
in vnet/ethernet, which would require further refactoring
and testing work.
Change-Id: Ic0eff030ee29c8d316c0e0fe13931451aa193527
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
Dave Wallace [Mon, 19 Aug 2024 22:47:55 +0000 (18:47 -0400)]
tests: fix make test python issues on ubuntu 24.04
- add patch to scapy to use latest six module instead
of the old scapy specific six module which fails to
import moves sub-module on python 3.12
- fix warning for deprecated legacy editable install of vpp_papi
- skip failing testcases on ubuntu-24.04
Type: test
Change-Id: Idc1a008c6e45ba69caa50c2e245012eb05effed7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Matus Fabian [Wed, 21 Aug 2024 15:25:41 +0000 (17:25 +0200)]
hs-test: nginx proxy/mirroring test cleanup
- test moved to proxy_test.go
- topology and suite updated to be vpp/envoy proxy compliant
Type: test
Change-Id: Iabee50b76bb8d96851f831c0b57d0e98dc4b3a5f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Adrian Villin [Fri, 16 Aug 2024 13:23:28 +0000 (15:23 +0200)]
http_static: added last-modified header
Type: improvement
Change-Id: I492df92ef25f9c0cd57fc8980500b58bebaa94c6
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Wed, 14 Aug 2024 10:38:20 +0000 (12:38 +0200)]
hs-test: proxy testing improvement
- new container topologies and suites for VPP proxy and Envoy proxy
- removed build docker image since it can't be used with CI cache
builder, container builders are designed to be stateless, they
only preserve build-cache, but not images
Type: test
Change-Id: I93e4d079780d18d6aa3b5ce807adc4707b6f2d9b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Adrian Villin [Tue, 20 Aug 2024 12:36:12 +0000 (14:36 +0200)]
hs-test: fix vppinstance logs and disable trace
- fixed a bug where vppinstance logs would concatenate -> each test now
has its own bind mount
- removed "--trace" flag to avoid skipped tests printing a full
stack trace. They are now only printed in the summary.
Type: test
Change-Id: Ib7f4254717cc798e456b9fca6f81685c8153ee2d
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Mon, 29 Jul 2024 15:54:58 +0000 (17:54 +0200)]
hs-test: generate core dump, fix docker logs in CI
Type: test
Change-Id: Ie1f66cdc061d3eccefc2ce58e977d88a33340038
Signed-off-by: Adrian Villin <avillin@cisco.com>
Guillaume Solignac [Wed, 19 Jun 2024 11:32:47 +0000 (13:32 +0200)]
vppinfra: cleaner way of getting libdl in CMake
Cmake has a dedicated CMAKE_DL_LIBS variable to get libdl; use it
instead of trying to find it manually.
Type: improvement
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: I9969c6be029f6a6e09cccaecd50e9eaf7d785b34
Tom Jones [Thu, 1 Aug 2024 14:22:39 +0000 (14:22 +0000)]
dpdk: Move file-prefix flag processing into linux only block
Type: improvement
Change-Id: I01a228618db72f8db4e439c6ad636defe79a695a
Signed-off-by: Tom Jones <thj@freebsd.org>
Alok Mishra [Fri, 26 Apr 2024 10:15:49 +0000 (15:45 +0530)]
octeon: add support for max_rx_frame_size update
This patch adds capability to update max_rx_frame_size on octeon
port.
Initial MTU value is being set in the "oct_port_start", which is
invoked every time the Ethernet interface is brought up, thus
overwriting any MTU value set by VPP CLI.
Moved the MTU initialization to "oct_port_init" to address this.
Type: feature
Change-Id: I00d0d52bc7711062cde47b8fe52e6823bb718d08
Signed-off-by: Alok Mishra <almishra@marvell.com>
Monendra Singh Kushwaha [Mon, 5 Aug 2024 10:00:22 +0000 (15:30 +0530)]
octeon: enable tx checksum offload capability
This patch enables tx checksum offload and sets correct l3/l4 offset.
Type: feature
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: I666f4000cb51c4979567a52255377dbe15ffb202
Monendra Singh Kushwaha [Fri, 12 Jul 2024 10:58:52 +0000 (16:28 +0530)]
octeon: sync mac address to cgx/rpm table
This patch syncs mac address to cgx/rpm table at initialization,
which sets interface in unicast mode.
Type: fix
Change-Id: Icf64b91ce5c74cc399cad3d3358b951fb2a65297
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Adrian Villin [Mon, 19 Aug 2024 08:51:59 +0000 (10:51 +0200)]
vppinfra: fix format_clib_timebase_time
- make the format RFC9110 compliant
Type: fix
Change-Id: I4272562ca1082285a596ef866ab6c4f405c64bc5
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Thu, 8 Aug 2024 06:56:34 +0000 (08:56 +0200)]
http_static: make max-age configurable
Type: improvement
Change-Id: I629add6e3f4219d56610c3785013f69dbe847844
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Mon, 19 Aug 2024 12:41:35 +0000 (14:41 +0200)]
http: make Media Types RFC9110 compliant
- https://www.rfc-editor.org/rfc/rfc9110.html#name-media-type
https://www.iana.org/assignments/media-types/media-types.xhtml
Type: improvement
Change-Id: I2624dc39a985ff3999aed6e1c833220b7049828d
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Tue, 6 Aug 2024 13:55:26 +0000 (15:55 +0200)]
http: http_read_message improvement
Use svm_fifo_peek in http_read_message and advance rx fifo head by
amount of bytes send to app, since not always you won't or can't
send all bytes.
Type: improvement
Change-Id: I84348c9df5c77ba386c9738a754295bb9ea0f7ef
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Wed, 14 Aug 2024 03:26:10 +0000 (20:26 -0700)]
tls: add basic tls record parsers
Type: improvement
Change-Id: Ia6a9f69b787950e3dbffd13ae577e499d6d2f55f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Steven Luong [Wed, 7 Aug 2024 17:53:48 +0000 (10:53 -0700)]
session: problem in session_rules_details API
Backend needs to return protocol to indicate if the prefix is ip4 or ip6.
Type: fix
Change-Id: If827c2e8b2a58051298968fa4d69de71ce9c4fcc
Signed-off-by: Steven Luong <sluong@cisco.com>
Matus Fabian [Thu, 8 Aug 2024 10:50:32 +0000 (12:50 +0200)]
http: authority-form target parsing/serializing
Type: improvement
Change-Id: Ifb90818a3526d3d4030a66b1ef7eebedfe97978f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Benoît Ganne [Thu, 8 Aug 2024 08:22:01 +0000 (10:22 +0200)]
tests: fix scapy 2.4.5 IPsec patch for AH + ESN
Type: fix
Change-Id: Ifac0e2aca83fa2a79b65d8d1a40add02051287d2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Thu, 1 Aug 2024 13:09:26 +0000 (15:09 +0200)]
tests: fix ipv6 fragmented esp w/ scapy 2.4.5
Since scapy 2.4.4, scapy will not decode the next layer if the fragment
offset is not 0 - IOW it will decode only for the 1st fragment.
See https://github.com/secdev/scapy/commit/
f1c26e77c535598f84b01035ac8ac465def30c72
Type: fix
Change-Id: If738734f90b15b24c0d98fec4bce4ff48c6d5fea
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Stanislav Zaikin [Fri, 8 Sep 2023 08:27:15 +0000 (10:27 +0200)]
ikev2: handoff packets
current approach saves state in per-thread data structure. in
multi-worker + nat-t cases udp/500 and udp/4500 might be dispatched on
different workers. this patch adds hands off packet to 1 explicit thread
- 1st worker (or main thread in case there're no workers) or to thread
that was explicitly set by user via configuration
Type: improvement
Change-Id: Ib5cd9a4b8612dfaa63b276035709524f7a492d4f
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Ole Troan [Thu, 1 Aug 2024 12:06:24 +0000 (14:06 +0200)]
vppapigen: ensure address types are nul terminated
A string generated from format() may not be nul terminated.
Type: fix
Change-Id: I88452e446c3504d70758e9009c65be5466034d92
Signed-off-by: Ole Troan <otroan@employees.org>
Stanislav Zaikin [Tue, 6 Aug 2024 16:10:13 +0000 (18:10 +0200)]
ikev2: fix BN_bn2bin re-allocation
the former code was re-allocating the vector when padding takes place.
it's not necessary since we have the correct size. also, it caused
issues since upper layer doesn't know about re-allocation and it caused
crash. with this patch many test-cases are enabled again.
Type: fix
Change-Id: Idf0b320101670ec64d62e9aac6399cc7c54c996f
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Dave Wallace [Tue, 23 Jul 2024 05:28:19 +0000 (01:28 -0400)]
tests: update scapy to version 2.4.5
- Required for Ubuntu 24.04 LTS jobs
- temporarily disable TestIpsecEsp1 and
TestIpsecAhAll tests until a patch can
be added to fix them
Type: test
Change-Id: I1ae7b170117182c3252629bbbb770775e2c496c9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Steven Luong [Tue, 6 Aug 2024 20:28:09 +0000 (13:28 -0700)]
session: memory leak in show session rules
Need to vec_free ns_id whenever we return in the function
show_session_rules_command_fn in case memory was allocated to it.
Type: fix
Change-Id: Ifc38d3eb2756a8a128467dd40ad40fe3f0be8fc0
Signed-off-by: Steven Luong <sluong@cisco.com>
Matus Fabian [Wed, 31 Jul 2024 14:08:40 +0000 (16:08 +0200)]
http: client POST method
Type: improvement
Change-Id: Iaa70abcee02866f9a6426a6e8e4709eeba0e8114
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Steven Luong [Mon, 5 Aug 2024 21:58:19 +0000 (14:58 -0700)]
session: session_lookup_local_endpoint returns the wrong value
SESSION_INVALID_INDEX is u32. The function is supposed to return u64.
The caller of the function tests the return value to see if it is
SESSION_INVALID_HANDLE in ct_session_connect. If it is not, it
thinks it is a valid handle and calls listen_session_get_from_handle
which causes a crash.
Type: fix
Change-Id: I4ede6b2dfb95259f3a6071cfa3a77ce0d9cd9edd
Signed-off-by: Steven Luong <sluong@cisco.com>
Maxime Peim [Wed, 31 Jul 2024 15:11:16 +0000 (17:11 +0200)]
vlib: add 'exit' as alias to 'quit'
Type: improvement
Change-Id: I099739a246dbdb6fdca136d06bc8e4b3f493a839
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Matus Fabian [Thu, 1 Aug 2024 14:36:44 +0000 (16:36 +0200)]
http_static: web app doc update
Type: docs
Change-Id: I0d3395c1de51c086b2ac68cd92c97efe36665b62
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Aritra Basu [Tue, 30 Jul 2024 23:03:59 +0000 (16:03 -0700)]
vcl: handle EINTR in epoll_wait calls
Type: improvement
Change-Id: I71a987b8871988d38e4a752c7f93f52a27bce6a3
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
Aritra Basu [Tue, 30 Jul 2024 21:34:59 +0000 (14:34 -0700)]
tcp: add establish timer pops to stats
Type: improvement
Change-Id: Ibc1e391356cef415b992b65c00f3d365fc97386d
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
Matus Fabian [Thu, 1 Aug 2024 14:00:37 +0000 (16:00 +0200)]
misc: remove deprecated builtinurl plugin
Plugin code is incorporated in http_static plugin for longer time.
Type: refactor
Change-Id: Ib74adb2a79d3ee715bbc994d77bc7718faf7184f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Ole Troan [Wed, 31 Jul 2024 09:16:35 +0000 (11:16 +0200)]
ip6: set buffer->error in ip6_input_check
When packets are dropped and this field is not set, then
trace shows the packet being dropped by the null-node instead
of the correct reason.
Type: fix
Change-Id: I3ed9186285d0db7fa6a1e5b739a28ee625968f30
Signed-off-by: Ole Troan <otroan@employees.org>
Ole Troan [Wed, 31 Jul 2024 07:50:31 +0000 (09:50 +0200)]
npt66: replace clib_warnings() with error counters
Replace clib_warnings() in the forwarding path with
error counters.
Change-Id: Ie679d940f056eeddeb8a032c77fe9c2195490cfc
Signed-off-by: Ole Troan <otroan@employees.org>
Type: fix
Signed-off-by: Ole Troan <otroan@employees.org>
Aritra Basu [Mon, 29 Jul 2024 17:57:25 +0000 (10:57 -0700)]
tcp: fix typo in show tcp config CLI command
Type: fix
Change-Id: I844539af3a283c8ec12498dbfd4857b8b533d7c1
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
Matus Fabian [Mon, 29 Jul 2024 11:51:51 +0000 (13:51 +0200)]
hs-test: disable color output only in CI
Type: test
Change-Id: I2ca7c8e714996b1badb59253b9b856fc623ab0c3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Mon, 29 Jul 2024 11:30:23 +0000 (13:30 +0200)]
hs-test: save VPP logs with timestamps
Type: test
Change-Id: Ia76d23a8d57dfb5570eaf44a9fdb3eabeba01a4d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Fri, 12 Jul 2024 09:07:17 +0000 (11:07 +0200)]
http: client code improvement
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>
Aritra Basu [Wed, 24 Jul 2024 17:11:00 +0000 (10:11 -0700)]
tcp: CLI command to print tcp_cfg
Type: improvement
Change-Id: Ie8f6ddc96fd3f5d44827ace834f8f6baa330d37d
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
Aritra Basu [Fri, 26 Jul 2024 16:36:55 +0000 (09:36 -0700)]
tcp: improve tcp listener CLI
Type: improvement
Change-Id: I11dc43bdf65cecfa5c48ac734a4727b377023c80
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
Adrian Villin [Thu, 25 Jul 2024 11:17:31 +0000 (13:17 +0200)]
hs-test: fix docker warning message
Type: test
Change-Id: I156b6d9e0759bc7d324ac7d618a195ee5803ca75
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Tue, 23 Jul 2024 10:14:19 +0000 (12:14 +0200)]
hs-test: check container state after startup
- 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>
Adrian Villin [Wed, 24 Jul 2024 15:46:53 +0000 (17:46 +0200)]
hs-test: fix logs once again
- "/dev/null" and "tail: ..." messages should now be
removed properly
Type: test
Change-Id: I4aa1f1a1cab17dab73f727e40c80a44d6e753bd5
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Wed, 24 Jul 2024 13:47:31 +0000 (15:47 +0200)]
prom: test_prom fix
Type: test
Change-Id: I022a3435429976590b8e8e2e1abe924188d1c3f9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Adrian Villin [Tue, 23 Jul 2024 10:51:14 +0000 (12:51 +0200)]
hs-test: update envoy
- v1.21 -> 1.30
Type: test
Change-Id: Ib79a4addc0a93089c41c13abffc3e8f0af4c0d91
Signed-off-by: Adrian Villin <avillin@cisco.com>
Matus Fabian [Wed, 24 Jul 2024 10:56:14 +0000 (12:56 +0200)]
prom: mem leak test
Type: test
Change-Id: Ibca5680778c9e27eb7b1ddbdba52f870852452fe
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Tue, 9 Jul 2024 13:23:45 +0000 (15:23 +0200)]
http_static: fix coverity warning
Type: fix
Change-Id: Ie4af8ec0c6089b5719899f3d0b670f8a2de7f8a2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Steven Luong [Wed, 17 Jul 2024 23:16:05 +0000 (16:16 -0700)]
session: delete and add application namespace do not create the global 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>
Matus Fabian [Fri, 28 Jun 2024 14:11:04 +0000 (16:11 +0200)]
prom: concurrent connections fix
Type: fix
Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Thu, 27 Jun 2024 11:20:10 +0000 (13:20 +0200)]
http: state machine fix
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>
Matus Fabian [Thu, 20 Jun 2024 15:08:26 +0000 (17:08 +0200)]
http: return more than data from server app
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>
Florin Coras [Mon, 22 Jul 2024 19:09:53 +0000 (12:09 -0700)]
vppinfra: get_mempolicy instead of move_pages for mem init
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
Steven Luong [Mon, 22 Jul 2024 16:27:33 +0000 (09:27 -0700)]
ip: crash in ip4_sas_commonlen
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>
Matus Fabian [Fri, 19 Jul 2024 14:04:09 +0000 (16:04 +0200)]
hs-test: memory leak testing
add infra for memory leak testing
Type: test
Change-Id: I882e8dbb360597cdb82ad52682725f7d39b2df24
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Mon, 22 Jul 2024 07:56:01 +0000 (09:56 +0200)]
misc: replace index() with strchr()
Type: improvement
Change-Id: I471e514ebef0b4c1f86067115b2ebe5a5517c6fb
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Fri, 19 Jul 2024 13:40:59 +0000 (15:40 +0200)]
vlib: add "save memory-trace" debug CLI
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>
Matus Fabian [Fri, 19 Jul 2024 13:24:10 +0000 (15:24 +0200)]
vppinfra: expose raw memory traces
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>
Steven Luong [Thu, 18 Jul 2024 16:10:48 +0000 (09:10 -0700)]
session: show session rules does not display ip6 entries
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>
Adrian Villin [Thu, 18 Jul 2024 06:33:59 +0000 (08:33 +0200)]
hs-test: fix docker log output when logs are empty
- 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>
Fan Zhang [Wed, 17 Jul 2024 15:08:12 +0000 (16:08 +0100)]
ipsec: fix integer overflow
Type: fix
Coverity issue: 394440
Change-Id: I915a088145ee1317a7c8746b517f4af50323aa11
Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
Dave Wallace [Tue, 16 Jul 2024 19:32:55 +0000 (15:32 -0400)]
pg: fix pcap packet type when writing pcap file
- 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>
Dave Wallace [Tue, 16 Jul 2024 16:36:38 +0000 (12:36 -0400)]
tests: output raw packet data when decoding pcap files
Type: test
Change-Id: I4e945b2bd067466afdaa58a6f07a1ab2c567bc2b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Xiaoming Jiang [Thu, 22 Feb 2024 13:24:20 +0000 (21:24 +0800)]
vppinfra: fix cpu freq init error if cpu support aperfmperf
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>
Klement Sekera [Sun, 14 Apr 2024 11:45:42 +0000 (13:45 +0200)]
vnet: print Success for API errno 0 instead of UNKNOWN
Type: improvement
Change-Id: I8c5bfc82c1db1213eb43072853f8500ce1d2ee92
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Adrian Villin [Tue, 9 Jul 2024 13:31:36 +0000 (15:31 +0200)]
hs-test: use docker sdk
Type: test
Change-Id: I9d6b15ca6a9aac3343e10f480dec43c4c538f1b7
Signed-off-by: Adrian Villin <avillin@cisco.com>
Adrian Villin [Wed, 17 Jul 2024 12:38:48 +0000 (14:38 +0200)]
hs-test: minor cpu pinning suite improvements
- 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>
Adrian Villin [Wed, 17 Jul 2024 13:03:42 +0000 (15:03 +0200)]
hs-test: exit immediately if docker build fails
Type: test
Change-Id: I299d023ce59b931697352c54e4796ba0af2ab1af
Signed-off-by: Adrian Villin <avillin@cisco.com>
Niyaz Murshed [Mon, 24 Jun 2024 20:38:11 +0000 (20:38 +0000)]
vppinfra: Add macro for targeted prefetching
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>
Steven Luong [Tue, 16 Jul 2024 21:23:41 +0000 (14:23 -0700)]
session: memory leak on rule tag
Type: fix
Change-Id: If07a6a420d467e6305f166ed250f84befe9f983d
Signed-off-by: Steven Luong <sluong@cisco.com>
Steven Luong [Tue, 16 Jul 2024 22:33:35 +0000 (15:33 -0700)]
session: memory leaks on rule tag hash tables
Type: fix
Change-Id: Id8542ad74389eca4cc7903cd455f556743a5e0cf
Signed-off-by: Steven Luong <sluong@cisco.com>
Florin Coras [Thu, 11 Jul 2024 12:15:47 +0000 (05:15 -0700)]
tls: track app owner of transport session
Allow other apps to own transport sessions for tls.
Type: improvement
Change-Id: Ida04cef1dc49acb7117cbed8657e26890bf43d2a
Signed-off-by: Florin Coras <fcoras@cisco.com>
Steven Luong [Fri, 28 Jun 2024 20:15:33 +0000 (13:15 -0700)]
session: crash in session_rule_add_del if session is not enable
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>
Steven Luong [Mon, 8 Jul 2024 18:21:23 +0000 (11:21 -0700)]
session: application namespace may reference a deleted vrf table
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>
Klement Sekera [Thu, 23 May 2024 09:19:51 +0000 (11:19 +0200)]
tests: more options for decoding pcaps
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>
Alok Mishra [Mon, 24 Jun 2024 10:56:16 +0000 (15:56 +0500)]
octeon: fix link down issue
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
Dmitry Valter [Mon, 11 Mar 2024 10:38:46 +0000 (10:38 +0000)]
tests: skip more excluded plugin tests
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
Jay Wang [Fri, 12 Jul 2024 12:53:56 +0000 (12:53 +0000)]
build: overwrite clang-format version on Ubuntu 24.04
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>
Renato Botelho do Couto [Thu, 20 Jun 2024 16:01:40 +0000 (11:01 -0500)]
build: Fix crossbuilding definitions
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>
Dave Wallace [Thu, 11 Jul 2024 02:04:42 +0000 (22:04 -0400)]
build: ubuntu-24.04 install-deps package list
- support for ubuntu-24.04 CI jobs
Type: make
Change-Id: I225d72e22207283de9979cce75d8d208ab99feb5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Maxime Peim [Tue, 20 Feb 2024 11:27:38 +0000 (12:27 +0100)]
fib: fix covered_inherit_add
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>
Maxime Peim [Thu, 4 Apr 2024 09:09:26 +0000 (11:09 +0200)]
ip6: fix icmp error on check fail
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>
Benoît Ganne [Fri, 5 Apr 2024 07:45:29 +0000 (09:45 +0200)]
fib: improve ipv6 fib scaling
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>
Benoît Ganne [Tue, 16 Apr 2024 07:36:05 +0000 (09:36 +0200)]
fib: make mfib optional
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>
Benoît Ganne [Wed, 13 Sep 2023 15:21:04 +0000 (17:21 +0200)]
fib: log an error when destroying non-empty tables
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>
Adrian Villin [Wed, 10 Jul 2024 19:57:44 +0000 (21:57 +0200)]
hs-test: quick fix for CpuPinningSuite
Type: test
Change-Id: Iaed08fe23a63562c99012bd469ca3f3271be2564
Signed-off-by: Adrian Villin <avillin@cisco.com>
Steven Luong [Wed, 10 Jul 2024 17:31:56 +0000 (10:31 -0700)]
session: deleting an application namespace cleaning up the wrong application
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>
Hadi Rayan Al-Sandid [Mon, 24 Jun 2024 08:28:58 +0000 (10:28 +0200)]
hs-test: Add CPU pinning test suite
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>
Jay Wang [Fri, 19 Apr 2024 12:16:41 +0000 (12:16 +0000)]
vppinfra: fix huge page alloc error on 5.19+ kernel
Running VPP on a NUMA system with 5.19+ kernel outputs the following
error messages. 'show physmem' command confirms that VPP falls back to
using normal 4K pages instead of the preallocated 1G huge pages. The
root cause is that VPP uses move_pages()[1] to get the huge page node
information. However, this misbehaves on the 5.19+ kernel due to changes
introduced in its implementation[2].
Our proposed fix is retry obtaining NUMA node info with
get_mempolicy()[3] only if we see -ENOENT returned in status from
move_pages() and huge pages are used. Additionally, we use mincore()[4]
to check if pages are allocated and in memory to avoid the possibility
of get_mempolicy() falsely allocating a new page.
buffer [warn ]: numa[1] falling back to non-hugepage backed buffer pool ()
vpp# show physmem
used-pages 2 reserved-pages 16 default-page-size 1G lookup-page-size 4K
arena 'buffers-numa-0' pages 1 subpage-size 1G numa-node 0 shared fd 5
arena 'buffers-numa-1' pages 1 subpage-size 4K numa-node 1 shared fd 6
[1] https://man7.org/linux/man-pages/man2/move_pages.2.html
[2] https://lore.kernel.org/linux-mm/
91da2c3b-96f1-bb03-8fff-
4c38f31cb9be@huawei.com/
[3] https://man7.org/linux/man-pages/man2/get_mempolicy.2.html
[4] https://man7.org/linux/man-pages/man2/mincore.2.html
Type: fix
Signed-off-by: Jay Wang <jay.wang2@arm.com>
Change-Id: Ia423745423bb080404292333ef95455a4950ce0a
Florin Coras [Fri, 31 May 2024 19:04:41 +0000 (12:04 -0700)]
tls: refactor vft functionsn to allow for reuse
Type: refactor
Change-Id: I3d7ff64e2e54b113f8d4b26f2dbf5b9c67b80976
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Mon, 8 Jul 2024 22:15:07 +0000 (15:15 -0700)]
session: add api to program rx io evts
Type: improvement
Change-Id: I5a4a33604ecb8a29ef6932cc5826835d3bec7f23
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Wallace [Wed, 26 Jun 2024 00:17:47 +0000 (20:17 -0400)]
hs-test: add missing packages to install-deps
Type: test
Change-Id: I2730debc7ea9256bf27208a2662f920edcd6826c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Adrian Villin [Mon, 17 Jun 2024 06:51:27 +0000 (08:51 +0200)]
hs-test: CPU allocation improvements
- Release build runs on numa node0, debug on node1.
Using the last digit of a build number to reserve 4 cores per test
mmeans we can run 20 jobs (10 release, 10 debug) on the same machine,
assuming we have 111 cores available (not counting core 0).
Can be increased if needed, there are still some cores left.
- Added separate numa aware cpu allocation
- Added CPU0=true|false (useful for users with 4c/8t)
Type: test
Change-Id: Iba8e492a4e01a7f457e49112303887a2a27f6af9
Signed-off-by: Adrian Villin <avillin@cisco.com>
Florin Coras [Tue, 2 Jul 2024 11:34:54 +0000 (04:34 -0700)]
session: improve enable and disable handling
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3c79d16f6a19767d990e8a4683c296219b559ccd
Florin Coras [Tue, 2 Jul 2024 08:38:47 +0000 (01:38 -0700)]
session: handle multiple attempts to mark mq congested
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iadc6ec58f5fc7fbff62e4fd31d509557b60395cb
Sanjyot Vaidya [Tue, 11 Jun 2024 19:05:22 +0000 (19:05 +0000)]
acl: cli addition to set macip rules
This change is used to add cli command for macip acl rules.
Cli commands added for addition and deletion of rule.
Type: improvement
Change-Id: I28adba0193a904f6c130c81cd19bb6de47f517a9
Signed-off-by: Sanjyot Vaidya <Sanjyot.Vaidya@arm.com>
Andrew Yourtchenko [Tue, 2 Jul 2024 16:02:09 +0000 (18:02 +0200)]
tests: disable failing tests on Ubuntu 22.04
Also rework the logic so the skipping of marked Ubuntu 22.04 occurs at framework level
Leave debian11 special cases as-is.
Type: fix
Change-Id: I481eb32cd1a0860935482e9f930ced409da653c9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Steven Luong [Fri, 28 Jun 2024 19:27:50 +0000 (12:27 -0700)]
session: session disable crash if not enable
If session is not enable, type in the CLI session disable cause VPP to crash.
Type: fix
Change-Id: Ib55b7430b7ce521a40025d58fa18b765f5129fd5
Signed-off-by: Steven Luong <sluong@cisco.com>