14028 Commits

Author SHA1 Message Date
Gabriel Oginski
1c170f571a ipsec: fix UDP flow in ipsec inbound policy
This patch fixes handle with UDP packages for UDP-Encapsulated ESP
and IKE traffic in inbound policy.

Orignally IKE traffic on UDP with port 4500 is dropped inside inbound
look-up.

Type: fix
Change-Id: I071adf18cb82da8cd000b93914078e51e393104c
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
2024-10-30 10:34:58 +00:00
Florin Coras
3b290df57c udp: connected mode only for connects
Treat all connects as connected udp sessions. Connectionless udp is only
possible with listeners.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0a75b7c85b72274df909ed3b114eed4f6519477e
2024-10-29 21:52:19 +00:00
Florin Coras
899baecb91 session: improve migration rx ntf
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0dd002f923908c4b9244c2c47fc85fa8855d54e1
2024-10-29 21:51:25 +00:00
Florin Coras
845332be99 hsa: proxy support for connected for udp
- mark listener as connected to support udp proxying. Connectionless udp
proxying is possible but would need more work on rx path.
- add support for session migration

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia6911ad728b7718a4983152d144e2566998e35c2
2024-10-29 17:50:59 +00:00
Matus Fabian
769a3b7256 http: "absolute-form" target URL parsing
Type: improvement

Change-Id: If39680a148d39add40433547369b2ddad3c2e226
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-29 17:26:04 +01:00
Matus Fabian
dcc6cd4333 http: timeout docs
Type: docs

Change-Id: I3dd9a726b862e72458a8f83c62354411d2c89d07
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-28 16:18:51 +00:00
Matus Fabian
cdb3136fad http_static: always free ext_cfg
Type: fix

Change-Id: I655e93c0f1e1de65d6d3c3e0976e25a7ce11aafc
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-28 16:18:14 +00:00
Stanislav Zaikin
0dd47bcf2b af_xdp: api cleanup
remove deprecated api handlers

Type: improvement

Change-Id: Id53d94f9d5fe46eba3ed809e4c16136c0eb2befc
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-10-28 09:22:42 +00:00
Ole Troan
8987d3a4ca vppapigen: fix f-string in crcchecker
Type: fix
Change-Id: I9ae35b34cfd7de96726aa0b45987a896783ef7e0
Signed-off-by: Ole Troan <otroan@employees.org>
2024-10-26 02:17:10 +00:00
Matus Fabian
26be76cc3e hsa: http cli client ho session cleanup
Type: improvement

Change-Id: I9266dac18ad3ee57fc8ecca3614b51b2345e9c48
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25 23:36:06 +00:00
Matus Fabian
841672258a http: pass timeout using extended config
App can now pass http connection timeout using extended configuration,
ext cfg type TRANSPORT_ENDPT_EXT_CFG_HTTP, value (in seconds) set in ext
cfg member opaque.
It is optional, default value is 60 seconds.

Type: improvement

Change-Id: Ibeff4bbd3153421be350ff564ec3c8e52e5b9639
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25 23:33:15 +00:00
Florin Coras
dced40dcac vcl: fix get tx fifo len attr
Type: fix

Change-Id: I9b47600486b03c4c2cd031ed1f0faf6c28864fe4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-10-25 16:08:30 +00:00
Matus Fabian
10c016c055 session: support of multiple extended configs
This allow configuration for each transport protocol when combined,
e.g. HTTPS=HTTP+TLS.
Extended config of session endpoint config is now chunk of memory,
which allow seamless integration with VCL, and internal
representation is hidden behind APIs, which is better for
future improvements. By default chunk is allocated to 512B if the
app doesn't do so before.

Type: improvement
Change-Id: I323f19ec255eba31c58c06b8b83af45aab7f5bb1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25 15:50:51 +00:00
Ole Troan
75f4960d12 dhcp: client use mac address as client identifier
Previously the DHCP client use a constant client identifier (vpp 1.1).
Problem with that is that multiple VPP clients on the same link would
fail. Fixed by using MAC address instead.

Type: improvement
Change-Id: If37f4a14cc728bde6c9ef6c169957562d763c973
Signed-off-by: Ole Troan <otroan@employees.org>
2024-10-25 09:33:03 +00:00
Florin Coras
b6cf8ff28b hsa: support vcl server binding to ip
Type: improvement

Change-Id: I4d64cddaa372aecaee8bb3eaf244c8d4998f490c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-10-24 16:56:20 +00:00
Steven Luong
cefa7fd47e hsa: add appns support to http cli server
When the last listener is deleted, detach the cli server.

The appns is determined and should be entered when the cli
server is first brought up. When adding an additional listener
subsequently, appns must not be specified.

Type: improvement

Change-Id: Idac5b1f89df2aeca6734ab4532ebade0659fc357
Signed-off-by: Steven Luong <sluong@cisco.com>
2024-10-24 16:44:31 +00:00
Stanislav Zaikin
af25b441e5 vapi: fix uds connect error handling
Type: fix

Change-Id: I846b54408991d34f73735914a4a673d4ee966afd
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-10-24 16:31:29 +00:00
Damjan Marion
fe403bd504 armada: fix rxq buffer pool assignment
Type: fix
Change-Id: I5a78804986f400f8adc7f58f25fe5d7989a926ea
Signed-off-by: Damjan Marion <damarion@cisco.com>
2024-10-24 12:34:38 +02:00
Klement Sekera
602d11019b ip: fix port extraction
Replace a hard-coded constant of 64 with 56, which is a more appropriate
value for when ICMP echo request is returned in ICMP error. Previously,
the size of such message would be smaller than 64 and parsing would not
return the correct value.

Type: fix
Change-Id: I1bdf8a2a23b1e6762b64210c71927c926f4547ad
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2024-10-23 20:58:15 +00:00
Damjan Marion
3d56703027 dev: use typedefs in dev.h
Type: refactor
Change-Id: Ieb50d79bd7b9f0a59faf26a4f5bce3f89f25b287
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 20:56:57 +00:00
Damjan Marion
8cbf565e06 dev: keep dev_instance data in struct
Type: refactor
Change-Id: I05d04e2e9872d025384524b1bc133d909581e18a
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 21:03:30 +02:00
Damjan Marion
b87e7ba1e5 dev: fix typo in function name
vnet_dev_get_port_rx_node_idex -> vnet_dev_get_port_rx_node_index

Type: fix
Change-Id: I9a90e5822cbc93bcf2f91244b4eb4e5fff53c212
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 18:42:07 +00:00
Damjan Marion
46beb0d48b dev: _with_ptr process node calls
Type: improvement
Change-Id: Ib392d74e7629cef5d335e4320a71ceec25ddb020
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 18:41:55 +00:00
Damjan Marion
d794af6771 armada: port and queue counters
Type: improvement
Change-Id: I221253be147e99cd082911f28d088b64ca96eff5
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 17:15:25 +02:00
Damjan Marion
c849be7c08 dev: add more units for counters
Type: improvement
Change-Id: If6f70fc34f47c31a986ba837c9a35ce139decfb1
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 15:15:15 +00:00
Damjan Marion
32798e86e2 armada: fix typo
Type: fix
Change-Id: I1c1eb9d7426086bb8023867b3118ece119bca05b
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 15:14:53 +00:00
Artem Glazychev
768c8d4ece dhcp: fix buffer length after adding new option
The size of dhcp option should be o.length + 2 additional bytes of the header.
Incorrect offset results in an extra byte at the end of the packet:
...
0120  04 00 00 00 04 05 04 AC 10 04 01 FF 00
...
RFC2131 says the last should be the 'end' option (ff)

Type: fix

Change-Id: I056d755d29465aab8c1c55a0b930f65ece6fafce
Signed-off-by: Artem Glazychev <glazychev@mts.ru>
2024-10-23 13:44:09 +00:00
Damjan Marion
3bd4e47a9a armada: set prinary address support
Type: improvement
Change-Id: I280cb3961ff4b18c6e02053c7526c19570add09d
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-23 11:09:12 +00:00
Dave Wallace
66fcfb845b build: fix gcov failure on ubuntu 24.04
Type: make

Change-Id: Ieee6562de4b9f68d701c27a3c3018431b28eb3b0
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-10-23 09:38:11 +00:00
Stanislav Zaikin
ec906a266b vapi: fix mem leak on uds transport
Type: fix

Change-Id: I08b990eb2ede3c26e0981de033daa4cc6bd1af8e
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
2024-10-23 05:56:34 +00:00
Lukas Vogel
0dcf8ead2c docs: fix statseg title in config reference
Fix typo and put it on the correct level.

Type: fix
Change-Id: Ic7a8e557b22d0060d7f072132f00564e29d8e860
Signed-off-by: Lukas Vogel <vogel@anapaya.net>
2024-10-23 01:13:22 +00:00
Tom Jones
458fa03d64 docs: Add FreeBSD Quick Start to README.md
Type: docs
Change-Id: I5b69d6638721586f503cbb5d516b7b4d52e2f2d7
Signed-off-by: Tom Jones <thj@freebsd.org>
2024-10-23 01:07:09 +00:00
Mohsin Kazmi
b9a68b5b2e pg: fix the buffer leak when pa steams are deleted
Type: fix

vpp# sh buffers
Pool Name            Index NUMA  Size  Data Size  Total  Avail  Cached   Used
default-numa-0         0     0   2304     2048   128270 125968   1108    1194
default-numa-1         1     1   2304     2048   128270 128270     0       0
vpp# sh pa
Name               Enabled        Count     Parameters
pg0-test-0           No         60900431    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 0,
pg1-test-0           No         60900385    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 0,
pg0-test-1           No         60898008    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 1,
pg1-test-1           No         60897934    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 1,
pg0-test-2           No         60900278    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 2,
pg1-test-2           No         60900184    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 2,
pg0-test-3           No         60900431    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 3,
pg1-test-3           No         60900387    limit -1, rate 1.00e6 pps, size 64-64, buffer-size 2048, worker 3
vpp# pa delete pg0-test-0
vpp# pa delete pg0-test-1
vpp# pa delete pg0-test-2
vpp# pa delete pg0-test-3
vpp# pa delete pg1-test-0
vpp# pa delete pg1-test-1
vpp# pa delete pg1-test-2
vpp# pa delete pg1-test-3
vpp# sh buffer trace verbose
Pool Name            Index NUMA  Size  Data Size  Total  Avail  Cached   Used
default-numa-0         0     0   2304     2048   128270 126650   1620      0
default-numa-1         1     1   2304     2048   128270 128270     0       0

                          Node           Allocated               Freed                  In                 Out            Buffered
            unix-cli-process-0                   0                1194                   0                   0               -1194

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I03051a8f529df7801cf08f8374a994dbc00fc972
2024-10-22 14:22:08 +00:00
Matthew Smith
e7226a2127 dpdk: validate number of tx descriptors
The default number of tx descriptors per queue is 1024. On some device
types, this is larger than the maximum allowed value and
rte_eth_tx_queue_setup() can return an error. Compare the configured
value to the maximum value for each device and set the configured
value to the maximum value if the configured value is larger.

Type: improvement

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: Ie29c5c6d58c76388f65f266032821140b0f879fb
2024-10-22 09:05:09 +00:00
Ivan Ivanets
2e8a406aaf tests: remove tag_fixme_ubuntu2204
Type: test

Activate tests that works successfully on ubuntu 22.04 but were
problematic on later version and were excluded by
@tag_fixme_ubuntu2204

Change-Id: I93c4626a120ce8b475e9c5ca933a5544d6337933
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
2024-10-21 20:20:42 +00:00
Florin Coras
4c5ec73874 hsa: refactor proxy to minimize lock usage
Use per worker context to minimize proxy session lock usage for io
events.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia0ea204a8b09f72300fd40745b299246d5d0ddb7
2024-10-19 21:08:27 +00:00
Jerome Tollet
e6d2b04e86 crypto-native: adding missing ciphers
Type: docs

Change-Id: I23a15e1ecd4c41f6567299aa07bb5458d468acf8
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
2024-10-17 13:14:15 +00:00
Nithinsen Kaithakadan
6937c0b2df octeon: add crypto framework
Configure crypto device.
Add crypto support in control plane and data plane.
Control plane
 - Handle vnet crypto key add and delete
 - Register crypto async enqueue and dequeue handlers
Data plane
 - Add encryption and decryption support for
    - AES-GCM
    - AES-CBC hmac sha1/256/384/512
    - AES-CTR sha1
    - 3DES-CBC md5 sha1/256/384/512

Type: feature

Signed-off-by: Nithinsen Kaithakadan <nkaithakadan@marvell.com>
Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com>
Change-Id: Ia9e16c61ed84800a59e0c932a4ba6aa1423c1ec8
2024-10-17 11:53:39 +00:00
Abdel Baig
17a918133b bfd: add support for multihop
Type: feature

Change-Id: If23f9cc9317e7528f3c8d66303457206843a12c5
Signed-off-by: Abdel Baig <abdbaig@cisco.com>
2024-10-15 15:46:01 -04:00
Adrian Villin
514098ee82 hs-test: various improvements
- fixed timed out/panicked tests not copying logs to CI archives
- fixed log formatting
- renamed SuiteTimeout to TestTimeout
- fixed ginkgo node leak on test timeout -> added AssertChannelClosed
- updated docs

Type: test

Change-Id: Ia71d765bd61576230a4cfd26d4b14fd1be1692c7
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-10-15 16:49:40 +00:00
Florin Coras
6771af7328 hsa: switch proxy to using first worker connects
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I04821236ba8ab02525bd99a1ed4572dfcf5e5131
2024-10-15 00:25:35 -04:00
Matus Fabian
15106becc5 http: Content-Length value parsing improvement
Type: improvement

Change-Id: Ida8ca43b5fed41fc0b13a2dde97e7e35c55283c9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-14 19:26:45 +00:00
Damjan Marion
1db9079ccb vppinfra: fix page stats for large heaps
Type: fix
Fixes: 6bfd076
Change-Id: I8da83a8a755e5893da627c0555039c62975a5e84
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2024-10-14 18:26:08 +00:00
Matus Fabian
6885d5f9eb hs-test: http_static wrk tests
Type: test

Change-Id: I87cddb88f2a62e79d66832827134ddaa95740839
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-14 17:05:49 +00:00
Matus Fabian
5c8ddd54c1 http: timer pool assert crash fix
Two iterations over expiret timers:
1) ivalidate timer handle and mark the connection as having a pending
   timer
2) send RPCs to workers

Type: fix

Change-Id: Iadc031c4e6d6f7bbd851d0421e6e0ea2d2b5e70f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-14 17:03:12 +00:00
Matus Fabian
b6ac2d7a7a http: track half-open sessions
It might happen that app detach during connecting period and worker
is not valid anymore when http_ts_connected_callback is called.

Type: improvement

Change-Id: I95f094e8bc0352728a61e3fe74ab0745859e2457
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-14 16:55:09 +00:00
Stanislav Zaikin
4d9abd6cdd ip: fix ip_local_reassembly_get handler
Type: fix
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Change-Id: I6431557d01756174005df26350c28299f83fcee0
2024-10-14 12:45:38 +00:00
Alexander Skorichenko
a7e01a83be snort: add timestamps to packets
Type: improvement

Change-Id: I810679c8a73c4d1b3fc2cc2300ded46a30d68e8f
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
2024-10-11 14:06:15 +00:00
Adrian Villin
2acdf1e629 hs-test: added dry run mode
- DRYRUN=true will set up most containers. Some need to be started
  manually (curl, nginx...). The framework will create a vpp-config
  file with interface configs that will get executed on VPP startup.
- set Ginkgo to use -v instead of -vv when running a single test
- s.Log() now supports formatting
- added 'useEnvVars' parameter to container.Exec

Type: test

Change-Id: Id1da7947a1448ee4b74b86cc4f243442256a5ba8
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-10-10 15:50:15 +00:00
Ole Troan
77ca487742 dpdk: xstats as symlinks
Type: improvement
Change-Id: I0df26e5a4d486b694ec90ba27b485a75bf264b20
Signed-off-by: Ole Troan <otroan@employees.org>
2024-10-09 16:59:53 +00:00