14028 Commits

Author SHA1 Message Date
Hadi Rayan Al-Sandid
8629336fa5 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>
2024-08-22 08:00:52 +00:00
Dave Wallace
85ce93160f 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>
2024-08-22 07:35:40 +00:00
Matus Fabian
7301abe9ba 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>
2024-08-22 07:08:20 +00:00
Adrian Villin
7e6606ab4e http_static: added last-modified header
Type: improvement

Change-Id: I492df92ef25f9c0cd57fc8980500b58bebaa94c6
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-22 06:09:43 +00:00
Matus Fabian
8792e5c5c5 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>
2024-08-22 03:25:19 +00:00
Adrian Villin
58cb6ba818 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>
2024-08-21 15:38:19 +00:00
Adrian Villin
4995d0da8c hs-test: generate core dump, fix docker logs in CI
Type: test

Change-Id: Ie1f66cdc061d3eccefc2ce58e977d88a33340038
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-21 15:38:19 +00:00
Guillaume Solignac
fb9dd88809 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
2024-08-21 12:05:27 +00:00
Tom Jones
df87789a2a dpdk: Move file-prefix flag processing into linux only block
Type: improvement
Change-Id: I01a228618db72f8db4e439c6ad636defe79a695a
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-08-21 12:03:49 +00:00
Alok Mishra
f7f26e5b32 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>
2024-08-21 11:54:29 +00:00
Monendra Singh Kushwaha
e00ce39714 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
2024-08-21 11:53:36 +00:00
Monendra Singh Kushwaha
9b6df541e5 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>
2024-08-21 11:52:55 +00:00
Adrian Villin
1fb7ae3440 vppinfra: fix format_clib_timebase_time
- make the format RFC9110 compliant

Type: fix

Change-Id: I4272562ca1082285a596ef866ab6c4f405c64bc5
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-20 20:37:24 +00:00
Adrian Villin
86fa943725 http_static: make max-age configurable
Type: improvement

Change-Id: I629add6e3f4219d56610c3785013f69dbe847844
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-20 18:19:12 +00:00
Adrian Villin
3601b322a0 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>
2024-08-19 14:47:25 +02:00
Matus Fabian
5546755d1a 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>
2024-08-16 13:36:34 +02:00
Florin Coras
f02e746785 tls: add basic tls record parsers
Type: improvement

Change-Id: Ia6a9f69b787950e3dbffd13ae577e499d6d2f55f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-08-13 22:42:31 -07:00
Steven Luong
3dd81c0e4a 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>
2024-08-13 17:41:23 +00:00
Matus Fabian
d58177c50b http: authority-form target parsing/serializing
Type: improvement
Change-Id: Ifb90818a3526d3d4030a66b1ef7eebedfe97978f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-09 20:08:59 +00:00
Benoît Ganne
0ce93ae744 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>
2024-08-08 10:22:01 +02:00
Benoît Ganne
d13b61171b 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 f1c26e77c5

Type: fix

Change-Id: If738734f90b15b24c0d98fec4bce4ff48c6d5fea
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2024-08-07 13:18:47 +00:00
Stanislav Zaikin
0f2c6cd1ab 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>
2024-08-07 12:07:13 +00:00
Ole Troan
9aa833b144 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>
2024-08-07 11:46:51 +00:00
Stanislav Zaikin
fa7b7a41e7 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>
2024-08-07 10:12:22 +00:00
Dave Wallace
cf9356d642 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>
2024-08-07 09:15:17 +00:00
Steven Luong
0a3b0b231d 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>
2024-08-06 13:30:31 -07:00
Matus Fabian
d46e674abc http: client POST method
Type: improvement

Change-Id: Iaa70abcee02866f9a6426a6e8e4709eeba0e8114
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-06 16:01:02 +00:00
Steven Luong
fc3464dac9 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>
2024-08-06 15:52:35 +00:00
Maxime Peim
26a6b19a0e vlib: add 'exit' as alias to 'quit'
Type: improvement
Change-Id: I099739a246dbdb6fdca136d06bc8e4b3f493a839
Signed-off-by: Maxime Peim <mpeim@cisco.com>
2024-08-06 13:38:27 +00:00
Matus Fabian
a67da25008 http_static: web app doc update
Type: docs
Change-Id: I0d3395c1de51c086b2ac68cd92c97efe36665b62
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-01 22:13:46 +00:00
Aritra Basu
119cbf2651 vcl: handle EINTR in epoll_wait calls
Type: improvement

Change-Id: I71a987b8871988d38e4a752c7f93f52a27bce6a3
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-08-01 22:06:37 +00:00
Aritra Basu
80a16d134e tcp: add establish timer pops to stats
Type: improvement

Change-Id: Ibc1e391356cef415b992b65c00f3d365fc97386d
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-08-01 11:46:59 -07:00
Matus Fabian
519983b44d 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>
2024-08-01 16:02:14 +02:00
Ole Troan
01ea72bc49 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>
2024-07-31 13:40:11 +00:00
Ole Troan
f726ebd174 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>
2024-07-31 12:24:11 +02:00
Aritra Basu
4a65e0166b tcp: fix typo in show tcp config CLI command
Type: fix

Change-Id: I844539af3a283c8ec12498dbfd4857b8b533d7c1
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-07-29 10:59:12 -07:00
Matus Fabian
a330856f73 hs-test: disable color output only in CI
Type: test
Change-Id: I2ca7c8e714996b1badb59253b9b856fc623ab0c3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-29 16:02:13 +00:00
Matus Fabian
d464338c19 hs-test: save VPP logs with timestamps
Type: test

Change-Id: Ia76d23a8d57dfb5570eaf44a9fdb3eabeba01a4d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-29 16:01:24 +00:00
Matus Fabian
ba9ea13e26 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>
2024-07-29 14:21:12 +02:00
Aritra Basu
dd4356dc97 tcp: CLI command to print tcp_cfg
Type: improvement

Change-Id: Ie8f6ddc96fd3f5d44827ace834f8f6baa330d37d
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-07-27 00:40:57 +00:00
Aritra Basu
e30f7122b7 tcp: improve tcp listener CLI
Type: improvement

Change-Id: I11dc43bdf65cecfa5c48ac734a4727b377023c80
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-07-26 15:13:27 -07:00
Adrian Villin
6a8f26c3ab hs-test: fix docker warning message
Type: test

Change-Id: I156b6d9e0759bc7d324ac7d618a195ee5803ca75
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-25 13:17:31 +02:00
Adrian Villin
007be4fa7f 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>
2024-07-24 23:41:04 +00:00
Adrian Villin
d9da4eeb79 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>
2024-07-24 21:16:21 +00:00
Matus Fabian
f95c4d81fc prom: test_prom fix
Type: test
Change-Id: I022a3435429976590b8e8e2e1abe924188d1c3f9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24 21:14:55 +00:00
Adrian Villin
2a2c653169 hs-test: update envoy
- v1.21 -> 1.30

Type: test

Change-Id: Ib79a4addc0a93089c41c13abffc3e8f0af4c0d91
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-24 15:54:02 +00:00
Matus Fabian
c712de5a8e prom: mem leak test
Type: test
Change-Id: Ibca5680778c9e27eb7b1ddbdba52f870852452fe
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24 15:38:46 +00:00
Matus Fabian
936c83db95 http_static: fix coverity warning
Type: fix

Change-Id: Ie4af8ec0c6089b5719899f3d0b670f8a2de7f8a2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24 10:16:47 +02:00
Steven Luong
5682ca8ef6 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>
2024-07-24 04:20:08 +00:00
Matus Fabian
5c4c1b63b9 prom: concurrent connections fix
Type: fix

Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23 20:37:29 +00:00