adrianvillin [Tue, 31 Oct 2023 12:15:53 +0000 (13:15 +0100)]
tests: http static - skip if cannot create namespaces
Type: test
Change-Id: I5fddb293f1b56853613ca2823dbb6d3d887d9929
Signed-off-by: adrianvillin <avillin@cisco.com>
Filip Tehlar [Thu, 26 Oct 2023 10:51:09 +0000 (12:51 +0200)]
hsa: use common app session interface in echo tests
Type: test
Change-Id: Ib320cfb5e20f12614c013a92ac15490f8ca3a7ce
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
vinay tripathi [Tue, 6 Jun 2023 07:27:55 +0000 (12:57 +0530)]
ipsec: separate UDP and UDP-encapsulated ESP packet processing
This fix differentiates UDP and UDP-encapsulated ESP packets processing.
While UDP-encapsulated ESP traffic is processed as IPsec traffic, UDP as
other plain-text protocols is NOT dispatched against SPD policies.
Key logic is taken from RFC 3948, and is based on the fact
that the checksum of UDP packet encapsulating ESP packet must be zero.
Type: fix
Signed-off-by: vinay tripathi <vinayx.tripathi@intel.com>
Change-Id: Ib1b4d240eea8e89f2daf17ec833905f26cdb31bd
vinay Tripathi [Fri, 20 Oct 2023 05:20:47 +0000 (05:20 +0000)]
ipsec: modify IPsec related tests to send and verify UDP-encapsulated ESP traffics
In this patch, IPsec related test files have been modified to send UDP-encapsulated
ESP packets,and validate against Inbound and Outbound policies that are configured
with Bypass, Discard and Protect action.
Type: test
Change-Id: I4b8da18270fd177868223bfe1389dc9c50e86cc5
Signed-off-by: vinay Tripathi <vinayx.tripathi@intel.com>
vinay tripathi [Wed, 31 May 2023 09:11:45 +0000 (14:41 +0530)]
ipsec: move udp/esp packet processing in the inline function ipsec_esp_packet_process
This inline function is introduced to simplify code readability and allows to splitting of
UDP and ESP processing in the next step.
Type: improvement
Change-Id: Ida4d6abbed141ac74d4d285900777778eb8a5a1d
Signed-off-by: Vinay Tripathi <vinayx.tripathi@intel.com>
adrianvillin [Thu, 26 Oct 2023 12:26:18 +0000 (14:26 +0200)]
tests: Added LLDP plugin tests
Type: test
Change-Id: I5a2d1b2c92f2bb7c45a7b5e025584d9417487840
Signed-off-by: adrianvillin <avillin@cisco.com>
adrianvillin [Tue, 24 Oct 2023 10:53:10 +0000 (12:53 +0200)]
tests: Added http static server tests.
Coverage increased from 21% to 80%
Type: test
Change-Id: Ic8ecc620cef738d7dbe4c259f58a373ac155a588
Signed-off-by: adrianvillin <avillin@cisco.com>
Filip Tehlar [Wed, 25 Oct 2023 12:59:09 +0000 (14:59 +0200)]
hsa: preallocate sessions on server side
Type: test
Change-Id: Ib809f5a6c9e2f08d87f0070231df04d5f0040ca0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Mohammed Hawari [Mon, 30 Oct 2023 09:52:19 +0000 (10:52 +0100)]
vcl: propagate correctly EADDRINUSE for UDP bind
Change-Id: Ia8b5421cbaaf861ddb3ad7aeca53a077ff18864e
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Maxime Peim [Thu, 22 Dec 2022 11:26:57 +0000 (11:26 +0000)]
ipsec: huge anti-replay window support
Type: improvement
Since RFC4303 does not specify the anti-replay window size, VPP should
support multiple window size. It is done through a clib_bitmap.
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Change-Id: I3dfe30efd20018e345418bef298ec7cec19b1cfc
Alexander Chernavin [Thu, 26 Oct 2023 11:18:19 +0000 (11:18 +0000)]
flowprobe: fix accumulation of tcp flags in flow entries
Currently, TCP flags of a flow entry don't get reset once the flow is
exported (unlike other meta information about a flow - packet delta
count and octet delta count). So TCP flags are accumulated as long as
the flow is active. When the flow expires, it is exported the last time,
and its pool entry is freed for further reuse. The next flow that gets
this pool entry will already have non-zero TCP flags. If it's a TCP
flow, the flags will keep being accumulated. This might look fine when
exported. If it's a non-TCP flow, that will definitely look erroneous.
With this fix, reset TCP flags once the flow is exported. Also, cover
the reuse case with tests.
Type: fix
Change-Id: I5f8560afffcfe107909117d3d063e8a69793437e
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Florin Coras [Fri, 27 Oct 2023 16:21:50 +0000 (09:21 -0700)]
session: fix bind replies with errors
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icdff3528fcaf863b400b9aca6c30d284bc17d5f0
Filip Tehlar [Fri, 27 Oct 2023 07:56:41 +0000 (09:56 +0200)]
hsa: fix coverity warning
Type: test
Change-Id: Iba94edb7eb439ddc994d9a16cb52108373d052ce
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Thu, 26 Oct 2023 19:44:18 +0000 (19:44 +0000)]
devices: remove unused code
Type: improvement
Change-Id: I2427e1a93e89e9a7ac884b84352b96cf523ae11e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Filip Tehlar [Mon, 4 Sep 2023 12:17:52 +0000 (14:17 +0200)]
hsa: unify echo test setup
Type: test
Change-Id: I8665492c2f7755901a428aacdb27e98329ff557a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
adrianvillin [Wed, 25 Oct 2023 08:36:05 +0000 (10:36 +0200)]
tests: Added bufmon plugin test
Coverage increased from 35% to 94%
Type: test
Change-Id: I9a54a58bf53b29a771a93ce03998e95fbcd518eb
Signed-off-by: adrianvillin <avillin@cisco.com>
Andrew Yourtchenko [Wed, 18 Oct 2023 21:18:32 +0000 (21:18 +0000)]
build: allow for reproducible builds
Setting and using the SOURCE_DATE_EPOCH variable takes
care of most of the magic necessary.
https://reproducible-builds.org/docs/source-date-epoch/
vpp-ext-deps packages after this change is being built with that
date set to date of the last modification of the
subtree (similar logic to deriving the "number" for
the package version)
For the rest of the packages, pinning the following
three variables should result in bit-identical
artifacts across multiple runs:
export SOURCE_DATE_EPOCH=$(date +%s)
export VPP_BUILD_HOST="buildhost"
export VPP_BUILD_USER="builduser"
Add a blurb in the docs describing this new functionality.
Type: improvement
Change-Id: I71b085f0577b2358aa98f01dafd8e392239420a6
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Damjan Marion [Wed, 25 Oct 2023 11:48:03 +0000 (13:48 +0200)]
lisp: fix missing symbol issue
Type: fix
Change-Id: I9373dabcdb2c4ba987e732b59e63b52603010873
Signed-off-by: Damjan Marion <damarion@cisco.com>
adrianvillin [Tue, 24 Oct 2023 10:28:31 +0000 (12:28 +0200)]
tests: Added mdata plugin test
Coverage increased from 54% to 92%
Type: test
Change-Id: Ibb26f2b8989c5bb2826190c961bffe2c21c3f9a2
Signed-off-by: adrianvillin <avillin@cisco.com>
Damjan Marion [Tue, 24 Oct 2023 21:59:48 +0000 (23:59 +0200)]
buffers: buffer name is vector, not c string
Type: fix
Fixes:
8973b07
Change-Id: Iba6e29bab35be0148b469965c3af8391b5ab9140
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 24 Oct 2023 16:04:51 +0000 (18:04 +0200)]
marvell: fix compilation issues
Type: fix
Fixes: unknown
Change-Id: I81ee03aaea2e1e6ffb9d6ee91db7fb9acd6debb7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matthew Smith [Tue, 26 Sep 2023 13:08:26 +0000 (13:08 +0000)]
fib: only update glean for interface if necessary
Type: improvement
If an interface address is added, the glean adjacency for it's covering
prefix is updated with that address. In the case of multiple addresses
within the same prefix being added, the most recently added one will end
up being used as the sender protocol address for ARP requests.
Similar behavior occurs when an interface address is deleted. The glean
adjacency is updated to some appropriate entry under it's covering
prefix. If there were multiple interface addresses configured, we may
update the address on the adjacency even though the address currently in
use is not the one being deleted.
Add a new value PROVIDES_GLEAN to fib_entry_src_flag_t. The flag
identifies whether a source interface entry is being used as the address
for the glean adjacency for the covering prefix.
Update logic so that the glean is only updated on adding an interface
address if there is not already a sibling entry in use which has the
flag set. Also, only update the glean on deleting an interface address
if the address being deleted has the flag set.
Also update unit test which validates expected behavior in the case
where multiple addresses within a prefix are configured on an interface.
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I7d918b8dd703735b20ec76e0a60af6d7e571b766
adrianvillin [Mon, 23 Oct 2023 16:54:29 +0000 (18:54 +0200)]
tests: Added STN plugin test to improve coverage.
Type: test
Change-Id: I30dfaed684e1f808089bb8eb301486434425ccd7
Signed-off-by: adrianvillin <avillin@cisco.com>
adrianvillin [Thu, 19 Oct 2023 10:15:52 +0000 (12:15 +0200)]
tests: Added a simple Snort plugin test to increase coverage.
Type: test
Change-Id: I96ec8b4347210672bc587407ab2fd0f0305ea486
Signed-off-by: adrianvillin <avillin@cisco.com>
Ting Xu [Tue, 4 Jul 2023 07:36:33 +0000 (07:36 +0000)]
dpdk: fix variable type in pattern parsing
In current pattern parsing function in DPDK, some of the variables of
packet length are defined as uint8_t, which are too small for some
large-size packets, such as srv6. Change the type to uint16_t.
Type: fix
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I06819e9716da098ca456c0405f0e6fd9a8eb0bc9
Dmitry Valter [Thu, 5 Oct 2023 08:31:23 +0000 (08:31 +0000)]
crypto: fix algo selection
Check if crypto ops vector is matching actual ops instead if blindly
dereferencing it.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: Ib88ab44137d9360ee96228e72349a62b2fa7a7e0
Alexander Chernavin [Tue, 17 Oct 2023 08:54:33 +0000 (08:54 +0000)]
flowprobe: fix sending L4 fields in L2 template and flows
Currently, when L2 and L4 recording is enabled on the L2 datapath, the
L2 template will contain L4 fields and L2 flows will be exported with
those fields always set to zero.
With this fix, when L4 recording is enabled, add L4 fields to templates
other than the L2 template (i.e. to the IP4, IP6, L2_IP4, and L2_IP6
templates). And export L2 flows without L4 fields. Also, cover that case
in the tests.
Type: fix
Change-Id: Id5ed8b99af5634fb9d5c6e695203344782fdac01
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Steven Luong [Thu, 5 Oct 2023 22:33:40 +0000 (15:33 -0700)]
memif: contention between memif_disconnect and memif RX/TX threads
memif_disconect may be called without barrier sync. It removes stuff in mq
without protection which may cause troubles for memif RX/TX worker threads.
The fix is to protect mq removal in memif_disconnect.
Type: fix
Change-Id: I368c466d1f13df98980dfa87e8442fbcd822a428
Signed-off-by: Steven Luong <sluong@cisco.com>
Damjan Marion [Fri, 13 Oct 2023 09:59:00 +0000 (09:59 +0000)]
buffers: introduce vlib_buffer_template_t
Type: improvement
Change-Id: Ie86a5edf2ada21355543e9a0382052b16ff86927
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Sat, 14 Oct 2023 22:01:48 +0000 (15:01 -0700)]
tcp: initialize connection index on rst w packet
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie01d7e8d6eddf3ba88f2cd6eb8369c8ec8179cb4
Florin Coras [Sat, 14 Oct 2023 22:16:18 +0000 (15:16 -0700)]
tcp: allow fins in syns in syn-rcvd
Also make sure connection is properly cleaned up.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I02f83e9a1e17cbbbd2ee74044d02049b2fd2f21c
Florin Coras [Sat, 14 Oct 2023 22:22:04 +0000 (15:22 -0700)]
tcp: handle syn-ack in fin-wait-2 in rcv process
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If74e04498423bed42593e79ec92482421cfda8d2
Ole Troan [Fri, 13 Oct 2023 07:19:45 +0000 (09:19 +0200)]
ip-neighbor: do not use sas to determine NS source address
Using the source address selection algorithm to determine the best source
of an NS for address resolution risks incompatible behavior.
It may choose a source address that is off-link to the other host.
Which may drop it.
A safer approach is to always use the link-local address as the SA.
It's recommended to pick a source that an application will later use,
as VPP is mostly a router, that rarely applies. And regardlessly we have
no mechanism to signal from an application that triggered address resolutiuon
what source address it intends to use.
Type: fix
Change-Id: I3c5de66e41505f3682767706ef1195a20e4f0e54
Signed-off-by: Ole Troan <otroan@employees.org>
Alexander Chernavin [Tue, 3 Oct 2023 12:45:51 +0000 (12:45 +0000)]
flowprobe: fix corrupted packets sent after feature disabling
When IPFIX flow record generation is enabled on an interface and the
active timer is set, flows will be saved and then exported according to
the active and passive timers. If then disable the feature on the
interface, the flow entries currently saved will remain in the state
tables. They will gradually expire and be exported. The problem is that
the template for them has already been removed. And they will be sent
with zero template ID which will make them unreadable.
A similar problem will occur if feature settings are "changed" on the
interface - i.e. disable the feature and re-enable it with different
settings (e.g. set a different datapath). The remaining flows that
correspond to the previous feature settings will be eventually sent
either with zero template ID or with template ID that corresponds to the
current feature settings on the interface (and look like garbage data).
With this fix, flush the current buffers before template removal and
clear the remaining flows of the interface during feature disabling.
Type: fix
Change-Id: I1e57db06adfdd3a02fed1a6a89b5418f85a35e16
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Vladislav Grishenko [Thu, 14 Sep 2023 17:14:38 +0000 (22:14 +0500)]
nat: add ipfix rate-limiter for nat44-ed, nat44-ei and nat64
This prevents ipfix flood with the repeating events and allows
to enable nat64 max_session and max_bibs events. Also fix wrong
endian for det44 and nat64 ipfix tests, now should be fine with
extended tests enabled.
Max session per user event @ nat44-ei requires more precise rate
limiter per user address, probably with sparse vec, not handled.
Type: improvement
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ib20cc1ee3f81e7acc88a415fe83b4e2deae2a836
Ole Troan [Thu, 12 Oct 2023 16:54:55 +0000 (18:54 +0200)]
npt66: icmp6 alg to handle icmp6 error messages
Support rewriting the inner packet for ICMP6 error messages.
Type: feature
Change-Id: I7e11f53626037075a23310f1cb7e673b0cb52843
Signed-off-by: Ole Troan <otroan@employees.org>
Ole Troan [Fri, 13 Oct 2023 06:52:47 +0000 (08:52 +0200)]
ip-neighbor: add ip neighbor flush
Flushing the neighbor cache was only available through API.
Add CLI command. Either flushes whole table (IP4,IP6)
or all neighbors on specified interface.
Type: improvement
Change-Id: Ia8c68fb032a2dfd940a136edc2aee80db5c37685
Signed-off-by: Ole Troan <otroan@employees.org>
Damjan Marion [Sat, 14 Oct 2023 08:41:54 +0000 (08:41 +0000)]
feature: remove unused code
Type: improvement
Change-Id: If775b1d145e462346de562a3c893f302e8c7b814
Signed-off-by: Damjan Marion <damarion@cisco.com>
Stanislav Zaikin [Tue, 5 Sep 2023 08:40:07 +0000 (10:40 +0200)]
linux-cp: check if lcp_itf_pair exists before creating tap
Now we create tun/tap and then check whether lcp_itf_pair was already
created. Move the check in the beginning.
Type: fix
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Change-Id: I848685a9cfdbe92a5e38ecb8e5d5322262b4e384
Alexander Chernavin [Mon, 22 May 2023 14:27:24 +0000 (14:27 +0000)]
ethernet: run callbacks for subifs too when mac changes
When MAC address changes for an interface, address change callbacks are
executed for it. In turn adjacencies register a callback for MAC address
changes to be able to update their rewrite strings accordingly.
Subinterfaces inherit MAC address from the parent interface. When MAC
address of the parent interface changes, it also implies MAC address
change for its subinterfaces. The problem is that this is currently not
considered when address change callbacks are executed. After MAC address
change on the parent interface, packets sent from subinterfaces might
have wrong source MAC address as the result of stale adjacencies. For
example, ARP messages might be sent with the wrong (previous) MAC
address and address resolution will fail.
With this fix, when address change callbacks are executed for an
interface, they will be also executed for its subinterfaces. And
adjacencies will be able to update accordingly.
Type: fix
Change-Id: I87349698c10b9c3a31a28c0287e6dc711d9413a2
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Damjan Marion [Thu, 12 Oct 2023 17:38:52 +0000 (17:38 +0000)]
vlib: properly replicate nexts when sibling node is created on runtime
Change-Id: I5aff21b5ca32e7eb84b11cca8387e7ac42fbbe23
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 12 Oct 2023 17:41:14 +0000 (17:41 +0000)]
vlib: allow unpriviledged vlib_pci_get_device_info()
When running unpriviledged sysfs allows reading only first
64 bytes of PCI config space.
Change-Id: I62d18328925a2e4936406c2842154b20182cacb9
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ole Troan [Thu, 12 Oct 2023 11:38:38 +0000 (13:38 +0200)]
npt66: add show command and rx/tx counters
Add show npt66 bindings.
Add RX/TX and translation error counters.
Type: improvement
Change-Id: I4513b111f815a15d5a7537ce503f0c084b523aa1
Signed-off-by: Ole Troan <otroan@employees.org>
Florin Coras [Thu, 12 Oct 2023 19:39:15 +0000 (12:39 -0700)]
session: fix duplicate rx events
Be less aggressive with rx events on connect/accept notification.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie93a08c7eef69383bf0301a163fd2131dd51372a
Alexander Chernavin [Wed, 11 Oct 2023 12:15:55 +0000 (12:15 +0000)]
flowprobe: fix sending L2 flows using L2_IP6 template
Currently, L2 flows are exported using L2_IP6 template if L3 or L4
recording is enabled on L2 datapath. That occurs because during feature
enable, L2 template is added and its ID is not saved immediately. Then
L2_IP4 and L2_IP6 templates are added overwriting "template_id" each
time. And in the end, the current value of "template_id" is saved for L2
template. The problem is that "template_id" at that point contains the
ID of L2_IP6 template.
With this fix, save the template ID immediately after adding a template
for all variants (datapaths). Also, cover the case with a test.
Type: fix
Change-Id: Id27288043b3b8f0e89e77f45ae9a01fa7439e20e
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Alexander Kozyrev [Mon, 25 Sep 2023 15:11:55 +0000 (15:11 +0000)]
dpdk: add Mellanox BlueField NICs
List BlueField NICs as a supported PCI devices.
Type: feature
Change-Id: Ida2300df516ab9cd2fcde1f816bbdc081016039a
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Steven Luong [Wed, 11 Oct 2023 21:09:21 +0000 (14:09 -0700)]
session: ignore connecting half_open session in session_tx_fifo_dequeue_internal
s->tx_fifo is 0 for the connecting half open session.
Type: fix
Change-Id: I2ba1ae99a2fa4fae1896587f40e0e4fb73c1edcb
Signed-off-by: Steven Luong <sluong@cisco.com>
Brian Morris [Wed, 11 Oct 2023 17:36:59 +0000 (17:36 +0000)]
tls: Fix SSL_CTX leak on every client session
Type: fix
Change-Id: I35b3920288269073cdd35f79c938396128d169c9
Signed-off-by: Brian Morris <bmorris2@cisco.com>
Florin Coras [Tue, 10 Oct 2023 19:39:55 +0000 (12:39 -0700)]
session: ignore app rx ntf if transport closed
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id56a101a6350903b00f7c96705fb86039e70e12c
Florin Coras [Tue, 10 Oct 2023 17:21:01 +0000 (10:21 -0700)]
session: fix tx deq ntf assert for cl
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I97a04ed0417f1a3433665f6aa1a9424138fd54cb
Dave Wallace [Wed, 11 Oct 2023 03:19:18 +0000 (23:19 -0400)]
lb: fix intermittent per-port-vip idx lookup failure
- Causes per-port-vip testcases to fail when the
uninitialized reserved field in the stack variable
key for the hash lookup was a non-zero stack memory
location.
Type: fix
Change-Id: I56afa15e7df60bc2340514f2c7ce5e71a9cb47a9
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Tue, 10 Oct 2023 01:25:39 +0000 (18:25 -0700)]
session: maintain old state on premature close
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2ea821e0499a3874c4579f5480ea86f30ebe615f
Dave Wallace [Mon, 9 Oct 2023 22:05:47 +0000 (18:05 -0400)]
vppinfra: fix coverity issue CID 323952
Type: fix
Fixes:
08600ccfa
Change-Id: I53ba0d96507b55ab7cd735073d6c4cf20a3cc948
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Damjan Marion [Fri, 6 Oct 2023 08:59:32 +0000 (10:59 +0200)]
buffers: buffer allocation improvements
- pass buffer pool name trough va
- make buffers naturaly aligned
- fix calculation of total number of buffers
Type: improvement
Change-Id: I6aebf249ebd67823b4632ac08905bfa3aa7d1ee5
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Sat, 7 Oct 2023 21:27:52 +0000 (14:27 -0700)]
tls: propagate reads to app irrespective of state
Session input node handles rx notifications even if session not fully
accepted/connected
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6560c45db8f8e0b7f0dc3bdd0939f13ca2f43f15
Florin Coras [Sat, 7 Oct 2023 02:06:35 +0000 (19:06 -0700)]
tls: report error if connected cannot be initialized
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I987ac6b461b473836917bce6ce0d4ac109cc8ddb
Florin Coras [Sat, 7 Oct 2023 00:31:32 +0000 (17:31 -0700)]
tls: no read after app close
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I34f8ee2e36d07e8e55e21561528fc6b73feb852f
Florin Coras [Sat, 7 Oct 2023 21:22:52 +0000 (14:22 -0700)]
session: propagate delayed rx evts after connect/accept
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4a2e8f864df7269ec5a3c4fd4d8785a67b687d58
Florin Coras [Fri, 6 Oct 2023 23:45:04 +0000 (16:45 -0700)]
session: handle accept and connect errors
If builtin apps refuse connections, they should be cleaned up.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I95ef22902ac3fe873e15e250aa5f03031c2dc0c4
hedi bouattour [Mon, 11 Sep 2023 14:48:12 +0000 (14:48 +0000)]
cnat: add flow hash config to cnat translation
Type: feature
this patch adds a hash config field to cnat translation
to use it in load balancing instead of always using default one
Change-Id: I5b79642ca8b365b5dcc06664f6c100a9d3830a29
Signed-off-by: hedi bouattour <hedibouattour2010@gmail.com>
Gabriel Oginski [Mon, 25 Sep 2023 10:41:06 +0000 (10:41 +0000)]
vpp-swan: fix config to run containers
This patch changes config to run containers on Ubuntu 22.04.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I3be48099cb48d2c4a04526c15780244614bef3d4
Damjan Marion [Wed, 4 Oct 2023 16:03:18 +0000 (18:03 +0200)]
vppinfra: fix string termination in clib_file_get_resolved_basename
Type: fix
Fixes:
40f4810
Change-Id: Idf51462c8154663de23154f17a894b7245c9fbf0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Nathan Skrzypczak [Tue, 3 Oct 2023 11:54:15 +0000 (13:54 +0200)]
session: make port range configurable
Type: feature
This patch makes the port range used by the transport layer
configurable in the manner of sysctl's ip_local_port_range.
Change-Id: Ie17f776538311b29d1dca64643a3a0bd74cb90a6
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Andrew Yourtchenko [Tue, 26 Sep 2023 14:01:21 +0000 (16:01 +0200)]
build: add ability to disable some plugins from packaging and tests
When custom-packaging the VPP artifacts, it can be useful to exclude
some of the core plugins from packaging/testing, for some reasons.
A removal of a plugin(s) from the worktree needs to be tracked as
a separate change, and thus is tricky from the maintenance
point of view.
This change adds the ability to "pretend they do not exist" -
plugins which are added to the comma-separated environment
variable "VPP_EXCLUDED_PLUGINS" will not be added to the build
process and not packaged.
The tests do not have the 1:1 relationship as plugins,
so they might need to be modified separately. This change
includes some of these modifications as an example.
Type: feature
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Id31562d00a01ced1acbb4996a633517cbd6f09d8
Damjan Marion [Fri, 29 Sep 2023 12:31:08 +0000 (14:31 +0200)]
vppinfra: add foreach_int macro
foreach_int(x, 1, 3, 5, 7)
{
fformat(stdout, "x is %u\n", x);
}
Type: improvement
Change-Id: Idc355f4a284f421b150e3acb7a3a57bcede408c7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 29 Sep 2023 13:09:11 +0000 (15:09 +0200)]
vppinfra: splat and gather vector inlines
Type: improvement
Change-Id: I4b00b3a6ff63fc8b313c89217ccdea356c0783a3
Signed-off-by: Damjan Marion <damarion@cisco.com>
Filip Varga [Wed, 6 Apr 2022 10:56:50 +0000 (12:56 +0200)]
nat: nat66 cli bug fix
Two similar CLI paths in nat66 plugin cause
unexpected behavior. Bug fix following [1] fix.
[1] https://gerrit.fd.io/r/c/vpp/+/35859
Change-Id: I771dd230fa6edb6bab3936652770a388d6e41a3f
Type: fix
Signed-off-by: Filip Varga <fivarga@cisco.com>
Fahad Khan [Thu, 28 Sep 2023 06:09:16 +0000 (06:09 +0000)]
stats: added optional CLI arg "port" to specify non-default port
There are cases where default port for prometheus exporter is not
available e.g. when multiple vpp are running on single node.
Type: improvement
Change-Id: I39701486f9dfaf4dc9f08aab56e88126687b507a
Signed-off-by: Fahad Khan <fahadnaeemkhan@gmail.com>
Florin Coras [Sat, 30 Sep 2023 22:21:08 +0000 (15:21 -0700)]
tls: limit openssl engine max read burst
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic7a8fd37d79fc9c09c8b1539d630f3b8983b8bb3
Florin Coras [Mon, 2 Oct 2023 17:41:54 +0000 (10:41 -0700)]
tls: fix formatting of half open connections
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If96dc748a716a261edfcb1020210bd73058e382f
Xinyao Cai [Thu, 25 May 2023 01:16:57 +0000 (09:16 +0800)]
flow dpdk avf: add support for using l2tpv3 as RSS type
This patch adds support for using l2tpv3 as RSS type
Type: feature
Signed-off-by: Xinyao Cai <xinyao.cai@intel.com>
Change-Id: Ic3e0935a4754d084184f1cc38ea9531ddfd9e7bc
Jieqiang Wang [Tue, 4 Jul 2023 04:05:33 +0000 (12:05 +0800)]
build: modify N_PREFETCH on Arm N2 to achieve best perf
From GCC 12, march=armv9-a option is supported, which includes the sve
and crc options needed. Furthermore, VPP L3Fwd benchmark results on N2
based servers show that N_PREFETCH set to 6 gives the best performance.
Type: feature
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Change-Id: I9c4fcad84d4db1189d956dabab22b26d020fbfd6
Gavril Florian [Thu, 15 Jun 2023 18:39:57 +0000 (18:39 +0000)]
fib: Crash when specify a big prefix length from CLI.
The VPP is crashing when specify a very big prefix length, like
ip route add 1.1.1.1/55 via 2.2.2.2
Type: fix
Signed-off-by: Gavril Florian <gflorian@3nets.io>
Change-Id: Ic491c0b24e07be897ff35ae1e835280f04ab3ea5
Fan Zhang [Fri, 22 Sep 2023 10:35:18 +0000 (11:35 +0100)]
crypto: update maintainer email
Update my email address in maintainer document.
Type: improvement
Change-Id: I8ba518fa4c9cb414342383e1461f3f94b661ac33
Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
Piotr Bronowski [Thu, 14 Sep 2023 17:41:13 +0000 (17:41 +0000)]
dpdk-cryptodev: improve dequeue behavior, fix cache stats logging
This patch provides minor improvements to the logic governing dequeuing
from the ring. Previously whenever a frame was dequeued
we've been trying to dequeue from the ring another one till
inflight == 0. Now threshold is set for 8 frames pending in the cache
to be consumed by the vnet. This threshold has been chosen based on
cache ring stats observation in the system under load.
Some unnecessary logic for setting deq_tail has been removed.
Also logging has been corrected, and cache ring logic simplied.
Type: improvement
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I19f3daf5913006e9cb23e142a163f596e85f5bda
Alexander Kozyrev [Tue, 27 Jun 2023 15:20:51 +0000 (15:20 +0000)]
dpdk: add ConnectX-6LX and ConnectX-7 support
List Mellanox ConnectX-6LX and ConnectX-7 as a supported PCI devices.
Type: feature
Change-Id: Ieeca3f214d08f29238c387354055ac1320cab75f
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Florin Coras [Tue, 26 Sep 2023 02:50:48 +0000 (19:50 -0700)]
tls: init connection for prealloced app sessions
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icd62dc110e3a73b24372f3a5162f8008b7edee9f
NikitaSkrynnik [Thu, 14 Sep 2023 09:00:38 +0000 (16:00 +0700)]
ping: Simple binary API for running ping based on events
Type: improvement
Change-Id: I02846a2420637470cb0f9472c86471b6a3421a75
Signed-off-by: NikitaSkrynnik <nikita.skrynnik@xored.com>
Ranjan Raj [Fri, 7 Jul 2023 06:09:50 +0000 (06:09 +0000)]
crypto-ipsecmb: bump intel-ipsec-mb version to 1.4
Type: feature
This patch update the Intel IPsec-MB lib to v1.4
Remove v0.54 and v0.55 support, as the compatible IMB APIs
are deprecated in v1.4
Signed-off-by: Ranjan Raj <ranjanx.raj@intel.com>
Change-Id: I01f71134c6bd17a68ec20b7bb4b0b0ff43fc644b
Vladislav Grishenko [Mon, 10 Apr 2023 20:17:29 +0000 (01:17 +0500)]
fib: fix mpls label dpo drop proto
Next drop node should be related to payload protocol.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: If12e8dc8b19c61f8c96c275b3f9e565e91ecdbed
Vladislav Grishenko [Mon, 10 Apr 2023 13:02:12 +0000 (18:02 +0500)]
fib: fix mpls label dpo packets prefetching
Four packets are batched after
696e88da9799056036f329676213f3c0c0a1db9c,
so prefetch is required for the next 4-7 packets, not for 2-5.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I4ab01e66c3b446caf113a154915473e96ab32198
Neale Ranns [Wed, 8 Mar 2023 04:53:37 +0000 (04:53 +0000)]
fib: Don't use an address from an attached prefix when sending ARP requests.
Change-Id: I4c3144794dd0bd7de6150929e53f6d305c496b17
Type: fix
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I7b0c2c2dec5e867970599b8f2f2da17f2ff0b17c
Dmitry Valter [Thu, 21 Sep 2023 17:46:26 +0000 (17:46 +0000)]
udp: fix udp encap tracing
Correct trace functions correspond with the encap type rather than with
the payload type.
Type: fix
Signed-off-by: Dmitry Valter <d-valter@yandex-team.com>
Change-Id: Iea1eb08a2ce9d147984ef604c7a39c62c7330e80
Florin Coras [Sat, 23 Sep 2023 02:26:33 +0000 (19:26 -0700)]
tls: ignore tx events for not fully established sessions
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I401a116a1a46c0dc5d591115de5ff0eef2f6440b
Andrew Yourtchenko [Wed, 20 Sep 2023 13:59:48 +0000 (15:59 +0200)]
misc: Initial 24.02-rc0 commit
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I42af9706461034957f83103e2756cc6bfab054f7
Naveen Joy [Wed, 23 Aug 2023 20:27:55 +0000 (13:27 -0700)]
tests: remove unsupported qemu feature
pretty=on|off has been removed from qemu and its presence
causes VM boot up issues.
Type: fix
Change-Id: I4a9f15dba5015e81fbd32278b1c74b2606c32c8f
Signed-off-by: Naveen Joy <najoy@cisco.com>
Ole Troan [Fri, 8 Sep 2023 09:32:33 +0000 (11:32 +0200)]
npt66: ensure feature is not configured multiple times
If the control agent enabled a binding on an interface multiple times,
we would add the node in the feature arc multiple times.
Type: fix
Change-Id: I2ca247db0a0211f5fa3974a18ca4fcae8485cb12
Signed-off-by: Ole Troan <otroan@employees.org>
Florin Coras [Mon, 18 Sep 2023 16:56:21 +0000 (09:56 -0700)]
vcl: unset fifo evt before size check
For blocking sessions, if fifo event still active before size check it
could lead to vpp not generating an event because of race to check flag
in vpp and to eventually unset flag in vcl.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0e350b9ff92a4e08a9249345ae224589c09d305b
Dave Wallace [Tue, 22 Aug 2023 18:18:32 +0000 (14:18 -0400)]
vapi: fix coverity warnings
- CID-322713, CID-322712, CID-314881, CID-314880,
CID-314878 COPY_INSTEAD_OF_MOVE
Type: fix
Change-Id: Idad6806fcd4e1a89a750dcc0584b5b1f0432bf3c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Andrew Yourtchenko [Mon, 26 Jun 2023 11:50:58 +0000 (13:50 +0200)]
misc: VPP 23.06 Release Notes
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Id39d7d6a6340e65885ab0845b6fc9a2b81e4f565
(cherry picked from commit
493b8990d1185f818890560101e13e1b69f54b1d)
Gabriel Oginski [Thu, 14 Sep 2023 09:03:36 +0000 (09:03 +0000)]
vpp-swan: fix configuration of policies
This patch fixes configuration of priority, port and type of protocol
for inbound and outbound policies in policy-based IPsec of this plugin.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I01ddc2e13ebbe87380e66a525aac1b615f619604
Vladislav Grishenko [Mon, 5 Sep 2022 05:32:46 +0000 (10:32 +0500)]
nat: fix nat44_ed set_session_limit crash
Setting session limit should return error for unknown fib.
Optimize max_translations_per_fib expanding and drop unnecessary
trailing fib entry.
Type: fix
Change-Id: Ie7d2b363ade48f53598faa617a49cce7b2db6400
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Florin Coras [Thu, 7 Sep 2023 02:09:30 +0000 (19:09 -0700)]
quic: fix quic sessions state updates
Session state cannot be updated after async notification event is
generated for app. Instead, make sure quic sessions that accept new
streams are switched to listening state only on accept.
Type: fix
Fixes:
0242d30
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9663ccadbea99d555ad49e871f7dff897239dc84
Andrew Yourtchenko [Tue, 1 Aug 2023 11:00:13 +0000 (13:00 +0200)]
sr: mark sr_policies_v2_details message as production
As per discussion on the VPP community call,
since the message is used in CSIT tests and did
not see the changes in a while, mark as production
for the purposes of change process.
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I4a79aafb1a9f37ac87faea7abea28cf01d1ffb4c
Andrew Yourtchenko [Tue, 1 Aug 2023 10:43:46 +0000 (12:43 +0200)]
adl: stabilize the API
As discussed on the VPP call, since CSIT tests use these messages
and they have not been changedfor quite a while, bump the version
so these messages are considered as "production" from the change
process standpoint.
Type: improvement
Change-Id: I93a04b10b273d5904c0678fa0b85d47f9f683a9b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Tue, 1 Aug 2023 10:54:36 +0000 (12:54 +0200)]
flow: mark API as production
As per discussion on the VPP call - since the APIs are used
in CSIT tests, mark them as production from the change process
perspective.
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I9164073425384e8aa281445a2852fee49b777e2f
Andrew Yourtchenko [Tue, 1 Aug 2023 10:52:04 +0000 (12:52 +0200)]
wireguard: stabilize the API
As per discussion on VPP call - since the APIs are used in CSIT tests,
and there has not been changes in a while, mark them as stable from
the API change process PoV.
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Ia644e1dfcd9d182cc6f10089fc44397a61e8aaf6
Andrew Yourtchenko [Tue, 1 Aug 2023 10:49:20 +0000 (12:49 +0200)]
crypto-sw-scheduler: stabilize the API
As per discussion on the VPP call: since the CSIT tests use these
APIs and the APIs have not changed in quite a while, stabilize the API
from the change process point of view.
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Id81999d03cce37764f6ed7d4f77ef5a71fe41ad1
Dave Wallace [Wed, 23 Aug 2023 03:17:54 +0000 (23:17 -0400)]
hsa: fix coverity issue CID-313635
Type: fix
Change-Id: Ieb50ab548bb34bdbb44d973037ee452d48f412ea
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Wed, 23 Aug 2023 03:42:02 +0000 (23:42 -0400)]
api: fix vlibmemory coverity warning CID-300152
Type: fix
Change-Id: Icdebc8629946e0e7c8dde3e45ee93ff9027e7c68
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>