Mohammed Hawari [Tue, 31 May 2022 16:11:05 +0000 (18:11 +0200)]
vlib: enqueue_to_next_with_aux implementation
Change-Id: I0e1bb39d765ec3efa7b28ca02fb7beeb23607e51
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Benoît Ganne [Wed, 8 Jun 2022 08:49:17 +0000 (10:49 +0200)]
classify: use 32 bits hash
classify hash used to be stored as u64 in buffer metadata, use 32 bits
instead:
- on almost all our supported arch (x86 and arm64) we use crc32c
intrinsics to compute the final hash: we really get a 32-bits hash
- the hash itself is used to compute a 32-bits bucket index by masking
upper bits: we always discard the higher 32-bits
- this allows to increase the l2 classify buffer metadata padding such
as it does not overlap with the ip fib_index metadata anymore. This
overlap is an issue when using the 'set metadata' action in the ip
ACL node which updates both fields
Type: fix
Change-Id: I5d35bdae97b96c3cae534e859b63950fb500ff50
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Ahmed Abdelsalam [Wed, 29 Jun 2022 16:30:21 +0000 (16:30 +0000)]
sr: code refactor and style fix
Type: refactor
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Change-Id: Iff5e85952273526d5c9d9e7e73bd2b6c15bcd7f6
Ofer Heifetz [Wed, 29 Jun 2022 17:18:27 +0000 (20:18 +0300)]
svm: check svm_msg_q_size_to_alloc success
svm_msg_q_size_to_alloc must return a valid base address, if it fails
pass up the error for handling
Type: fix
Change-Id: I408492f65f646862122acb9a187819b3bbf4f91c
Signed-off-by: Ofer Heifetz <oferh@marvell.com>
Ahmed Abdelsalam [Wed, 29 Jun 2022 11:08:42 +0000 (11:08 +0000)]
sr: Add support for SRv6 Path Tracing Infrastructure
This patch adds support for the infrastructure
required to support SRv6 Path Tracing defined in
https://datatracker.ietf.org/doc/draft-filsfils-spring-path-tracing/
Type: feature
Change-Id: If3b09d6216490a60dd5a816577477b6399abc124
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Florin Coras [Wed, 29 Jun 2022 02:21:32 +0000 (19:21 -0700)]
hsa: reduce number of preallocated vcl test server sessions
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7afc6116ca9a609992f26d9e78084732bba1b2ea
Fan Zhang [Wed, 25 May 2022 20:03:40 +0000 (20:03 +0000)]
ipsec: add fast path python tests
This patch introduces set of python tests for fast path, based on
flow cache tests. There was a bug in calculating of policy mask when
adding to fast path, which has been fixed. Memory size for bihash
tables for both ip4 and ip6 outbound fast path policies
has been increased.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: Ibeee904ae7179f5dafbd45bb44282436f0b80821
Piotr Bronowski [Thu, 5 May 2022 18:51:21 +0000 (18:51 +0000)]
tests: add ipsec flow performance unit test
This patch adds performacne and functional tests for ip4
outbound traffic policy matching.
Test setup is configurable in startup.conf and though the test
parameters. Cache, fast path, fast path burst mode can be enabled
and disabled,
and performance for different lookup setup can be measured.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I1d04d196e412f47f43b7e5cbd46607bf6a9cc40e
Fan Zhang [Wed, 25 May 2022 19:42:08 +0000 (19:42 +0000)]
ipsec: show fast path flag in cli
This patch updates the "show ipsec spd" cli to display
policies maintained by fast path bihash table.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I58b9f92f3132dc9809b50786dc912e09c4b84d81
Piotr Bronowski [Fri, 6 May 2022 13:52:24 +0000 (13:52 +0000)]
ipsec: add fast path configuration parser
Parser can be configured from the level of startup.conf file:
fast path can be enabled and disabled.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: Ifab83ddcb75bc44c8165e7fa87a1a56d047732a1
Piotr Bronowski [Tue, 10 May 2022 14:06:29 +0000 (14:06 +0000)]
ipsec: add spd fast path matching
This patch adds matching functionality for spd fast path
policy matching. Fast path matching has been introduced
for outbound traffic only.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I03d5edf7d7fbc03bf3e6edbe33cb15bc965f9d4e
Piotr Bronowski [Tue, 10 May 2022 14:06:29 +0000 (14:06 +0000)]
ipsec: make match function inline
This patch introduces ipsec_output.h file. Matching implementation is
moved there. The reason behind is the possibility of unit testing
matching mechanism. Therefore we need to have functions that are in
scope of our intrest there and since these are inline their
implementation needs to be moved to the header file as well.
Type: improvement
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: Id7c605375d1f3be146abf96ef70d336a5d156444
Piotr Bronowski [Tue, 10 May 2022 13:18:22 +0000 (13:18 +0000)]
ipsec: add/delete ipsec fast path policy
This patch introduces functions to add and delete fast path
policies.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I3f1f1323148080c9dac531fbe9fa33bad4efe814
Florin Coras [Tue, 28 Jun 2022 23:01:35 +0000 (16:01 -0700)]
session: fix connected udp accepts
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0963bae4b56b08c0a9ab4ee1f2738013217e1fb7
Florin Coras [Tue, 28 Jun 2022 21:34:45 +0000 (14:34 -0700)]
session quic: allow custom config of rx mqs seg size
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Idc0fdebfea29c241d8a36128241ccec03eace5fd
Pratikshya Prasai [Mon, 27 Jun 2022 15:02:04 +0000 (11:02 -0400)]
docs: fix broken links
Type: docs
Signed-off-by: Pratikshya Prasai <pratikshyaprasai2112@gmail.com>
Change-Id: I729de9e18624c63a72ec415a05c55617cb360c47
Piotr Bronowski [Tue, 10 May 2022 09:08:47 +0000 (09:08 +0000)]
ipsec: introduce spd fast path types
This patch introdcues basic types supporting fast path lookup.
Fast path performs policy matching with use of hash lookup
(particularly bihash tries has been used for that purpose). Fast path
lookup addresses situation where huge number of policies is created
(~100k or more). In such scenario adding/removing a policy
and policy matching is not efficient and poorly scales (for example
adding 500k policies takes a few hours. Also lookup time
increases significantly). With fast path adding and matching up to
1M flows scales up linearly (adding 1M of policies takes about 150s
on the test machine vs many hours in case of original implementation,
also matching time is significantly improved). Fast path will not
deal well with a huge number of policies that are spanning large
ip/port ranges. Large range will be masked out almost entirely leaving
only a few bits for calculating the hash key. Such keys will tend to
gather much more policies than other keys and hash will match most of
the packets anihilating advantages of hashing. Having said that
we also think that it is not the real life scenario.
Type: feature
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I600dae5111a37768ed4b23aa18426e66bbf7b529
Piotr Bronowski [Thu, 9 Jun 2022 09:09:28 +0000 (09:09 +0000)]
ipsec: change wildcard value for any protocol of spd policy
Currently 0 has been used as the wildcard representing ANY type of
protocol. However 0 is valid value of ip protocol (HOPOPT) and therefore
it should not be used as a wildcard. Instead 255 is used which is
guaranteed by IANA to be reserved and not used as a protocol id.
Type: improvement
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I2320bae6fe380cb999dc5a9187beb68fda2d31eb
fanxb [Fri, 17 Jun 2022 08:19:43 +0000 (16:19 +0800)]
quic:fix crash rx_fifo full or grow
if when the rx_fifo grows, svm_fifo_enqueue() return -4,
stream_data->app_rx_data_len += rlen type conversion occurs,
Finally,stream->recvstate.data_off calculation is wrong.
Type:fix
Signed-off-by: fanxb <fxb_mail@163.com>
Change-Id: Iae11f0c453f32d836f4148d70e3b121545a53a90
Alexander Chernavin [Wed, 15 Jun 2022 14:42:17 +0000 (14:42 +0000)]
stats: fix prometheus exporter crash on large number of FIB entries
Type: fix
Currently, prometheus exporter may crash because of memory exhaustion
when dumps metrics if the FIB contains large number of routes.
With this fix, increase memory size for prometheus exporter to be able
to handle large number of FIB entries.
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Ia2b9a665368883c87448deee9bcf8d2ac1168357
Dave Wallace [Tue, 14 Jun 2022 16:06:55 +0000 (12:06 -0400)]
docs: fix spelling errors
- also add docs-spell to checkstyle-all make target
Type: fix
Fixes:
5f6422db9
Change-Id: I8e9d7d17a03ee7b55f4e1785983459c43af267f7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Vijayabhaskar Katamreddy [Tue, 31 May 2022 15:58:10 +0000 (15:58 +0000)]
ip: reassembly - Add node level stats, fix customapp behavior
Type: fix
Added stats for success and failure cases
Fixed Custom app behaviors for the error / drop cases
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: Id6e981c7be5c5b3cee5af2df505666d5558da470
Saima Yunus [Sat, 11 Jun 2022 02:34:04 +0000 (19:34 -0700)]
build: update makefile for ubuntu 22.04 docker executors
* apt '—force-yes' is deprecated in the version of apt in Ubuntu 22.04
* several Ubuntu-22.04-specific packages (e.g. python3-virtualenv, libssl-dev, clang clang-format-11)
are needed in the current VPP installation as well
Type: fix
Signed-off-by: Saima Yunus <yunus.saima.99@gmail.com>
Change-Id: I96ead90152f692233da812cdc853792bedb47c3c
Saima Yunus [Thu, 19 May 2022 18:48:59 +0000 (11:48 -0700)]
docs: cleaning up VPP documents by deleting unnecessary info.
- cleaned up the 'build/run VPP' docs
Type: docs
Signed-off-by: Saima Yunus <yunus.saima.99@gmail.com>
Change-Id: I9dbddbe1932804b8d507cb2f1631cd7116e59072
Benoît Ganne [Thu, 9 Jun 2022 10:09:19 +0000 (12:09 +0200)]
rdma: bump to rdma-core 41.0
Type: improvement
Change-Id: Ifdbb879d3018996c09f0caf55df11038ead173a2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Xiaoming Jiang [Wed, 8 Jun 2022 15:28:59 +0000 (15:28 +0000)]
dpdk: add support allow/block scan mode for vmbus dev
Type: improvement
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Id3f45968cd24f53350dce365b2cc9b3191ec836f
Liangxing Wang [Fri, 13 May 2022 04:24:19 +0000 (04:24 +0000)]
vcl: fix iperf3 server crash issue when it runs over vpp host stack.
Issue:
Let iperf3 server run via ldp and vcl on top of vpp's host stack. If
iperf3 client connects this iperf3 server with tcp MSS setting option,
iperf3 server will always crash.
Root cause:
When MSS option is specified by iperf3 client, iperf3 server will
recreate the listening socket firstly, then call setsockopt() to set MSS
immediately. Iperf3 code can be referred here:
https://github.com/esnet/iperf/blob/
58332f8154e2140e40a6e0ea060a418138291718/src/iperf_tcp.c#L186.
However, in vcl layer vpp_evt_q of this recreated session is not
allocated yet. So iperf3 server crashes with vpp_evt_q null pointer access.
Fix:
Add session vpp_evt_q null pointer check in vcl_session_transport_attr().
Add a vcl test case for this MSS option scenario.
Type: fix
Signed-off-by: Liangxing Wang <liangxing.wang@arm.com>
Change-Id: I2863bd0cffbe6e60108ab333f97c00530c006ba7
Benoît Ganne [Fri, 10 Jun 2022 07:40:47 +0000 (09:40 +0200)]
vppinfra: fix bihash_8_16 entry format function
Type: fix
Change-Id: I1e8655baaf09b455f7f0052452402a372f738d0f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Thu, 9 Jun 2022 19:38:13 +0000 (12:38 -0700)]
hsa: allow first segments larger than 4g for proxy
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9c502a491ff56806a2e631f7a4c18903a2e93ab2
Benoît Ganne [Wed, 8 Jun 2022 08:56:33 +0000 (10:56 +0200)]
ip: improve ip ACL traces
Type: improvement
Change-Id: I85c73cb940d81d0b249eda0d57de135bcd798418
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Damjan Marion [Wed, 1 Jun 2022 14:18:23 +0000 (16:18 +0200)]
vppinfra: missing __clib_export for clib_pmalloc_alloc_aligned
Type: improvement
Change-Id: I7489327d8b9c5f69b4ceb2159456f00f8a3612df
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Wed, 8 Jun 2022 08:23:43 +0000 (10:23 +0200)]
udp: add cli to dump registered ports
Type: improvement
Change-Id: Ic949e3136a7cf27011d098a50e91920f83226ea9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Matthew Smith [Thu, 2 Jun 2022 19:11:28 +0000 (19:11 +0000)]
wireguard: increment interface RX counters
Type: improvement
When packets were received and processed successfully, increment the
byte/packet counters for the tunnel interface.
Change-Id: I42855607ac6916de641be42aac86c9942cc97140
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Nathan Skrzypczak [Tue, 7 Jun 2022 16:30:40 +0000 (18:30 +0200)]
classify: fix sesssion details api
We were not allocating space for the
variable length payload in the response
message.
Type: fix
Change-Id: I345102f4555f66c5632ab0882ca1dd178e98eb7b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Pim van Pelt [Fri, 3 Jun 2022 21:05:26 +0000 (21:05 +0000)]
vlib: fix crash on packet on deleted interface
If ip4_neighbor_probe (or any other) is sending packet to a deleted interface,
ASSERT trips and dataplane crashes. Example:
create loopback interface instance 0
set interface ip address loop0 10.0.0.1/32
set interface state GigabitEthernet3/0/1 up
set interface state loop0 up
set interface state loop0 down
set interface ip address del loop0 10.0.0.1/32
delete loopback interface intfc loop0
set interface state GigabitEthernet3/0/1 down
set interface state GigabitEthernet3/0/1 up
comment { the following crashes VPP }
set interface state GigabitEthernet3/0/1 down
This sequence reliably crashes VPP:
(gdb)p n->name
$4 = (u8 *) 0x7fff82b47578 "interface-3-output-deleted”
If the interface doesn't exist, return ~0 and be tolerant of this in the
two call sites of counter_index()
Type: fix
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Change-Id: I90ec58fc0d14b20c9822703fe914f2ce89acb18d
Ahmed Abdelsalam [Mon, 6 Jun 2022 15:54:02 +0000 (15:54 +0000)]
sr: SRv6 TEF behavior support
Adding support for the SRv6 TEF (Timestamp, Encapsulation and Forward) behavior defined in
draft-filsfils-spring-path-tracing (https://datatracker.ietf.org/doc/draft-filsfils-spring-path-tracing/).
Type: feature
Change-Id: I7f38b593147daf8d27af9c983448cf82947e5bed
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Alexander Chernavin [Thu, 2 Jun 2022 09:55:37 +0000 (09:55 +0000)]
wireguard: fix crash by not sending arp via wg interface
Type: fix
Currently, neighbor adjacencies on a wg interface are converted into a
midchain only if one of the peers has a matching allowed prefix
configured. If create a route that goes through a wg interface but the
next-hop address does not match any allowed prefixes, an ARP/ND request
will try to be sent via the wg interface to resolve the next-hop address
when matching traffic occurs. And sending an ARP request will cause VPP
to crash while copying hardware address of the wg interface which is
NULL. Sending an ND message will not cause VPP to crash but the error
logged will be unclear (no source address).
With this fix, convert all neighbor adjacencies on a wg interface into a
midchain and update tests to cover the case. If there is no matching
allowed prefix configured, traffic going such routes will be dropped
because of "Peer error". No changes if there is matching allowed prefix
configured.
Also, fix getting peer by adjacency index.
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I15bc1e1f83de719e97edf3f7210a5359a35bddbd
Florin Coras [Fri, 3 Jun 2022 21:29:20 +0000 (14:29 -0700)]
hsa: dealloc proxy fifos on right thread
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia66c12e1da126d0d8d101b645e6dc8454c3826d6
Florin Coras [Fri, 3 Jun 2022 17:51:27 +0000 (10:51 -0700)]
hsa: refactor proxy session lookup and cleanup
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic68627bbca676cc78b0be05bc1fa0f386f5d27fa
Filip Tehlar [Fri, 3 Jun 2022 12:21:16 +0000 (12:21 +0000)]
session: fix double free in CLI
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I646ac946d0b07929dfdd1966a4f4a3b697768040
Jon Loeliger [Thu, 2 Jun 2022 20:18:54 +0000 (15:18 -0500)]
ipfix-export: Fix frame leak in flow_report_process_send()
The flow_report_process_send() function always allocates a frame.
However, when no template_send is needed, template_bi is ~0.
When this happens, no vectors are placed in the frame. When
the frame is then "put", a check for n_vectors == 0 prevents
the frame from actually being placed back on the free list.
Fix that by using a direct call to vlib_frame_free() when
there are no frame vctors.
Type: fix
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: I936b5cea4cb3c358247c3d2e1a77d034a322ea76
Florin Coras [Wed, 1 Jun 2022 21:44:11 +0000 (14:44 -0700)]
session: make sure fifos are freed on right thread
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3c573641bd95fe899823b66f6c59a2525a18d293
Leland Krych [Thu, 26 May 2022 15:37:54 +0000 (08:37 -0700)]
stats: swap used and total stats
Type: fix
reported stats seem to have mixed up used and total counters
Signed-off-by: Leland Krych <leland.krych@gmail.com>
Change-Id: I221c7b114c0da2ed53171d7f047a4bda07ee6cb2
Viktor Velichkin [Tue, 31 May 2022 19:12:15 +0000 (22:12 +0300)]
papi: vpp_serializer.py - replace slow bytes() with fast bytearray()
https://docs.python.org/3/library/stdtypes.html
"if concatenating bytes objects, you can similarly use bytes.join() or io.BytesIO, or you can do in-place concatenation with a bytearray object. bytearray objects are mutable and have an efficient overallocation mechanism"
Type: improvement
Signed-off-by: Viktor Velichkin <avisom@yandex.ru>
Change-Id: Id20d337f909cce83fcd9e08e8049bb0bf5970fbc
Damjan Marion [Tue, 31 May 2022 22:45:18 +0000 (00:45 +0200)]
vlib: add VLIB_NUM_WORKERS_CHANGE_FN() handler
Allows features to update their data structures after change in number
of worker threads.
Type: improvement
Change-Id: Icd4d197e28608f5bbb1edd13eb624cd98e33cafe
Signed-off-by: Damjan Marion <damarion@cisco.com>
Benoît Ganne [Tue, 26 Apr 2022 16:44:19 +0000 (18:44 +0200)]
ip: unformat_ip_address should no modify its argument on failure
When failing to match an ip address, we should not reset the ip address
that could have been initialized by a previous match.
Type: fix
Change-Id: I026766391eb3eb8230f75f66bf4b681e774741d9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Alexander Skorichenko [Fri, 27 May 2022 08:23:20 +0000 (08:23 +0000)]
nat: disable nat44-ei-in2out-output ttl check
Type: fix
A packet passing through nat44-ei-in2out-output,
has its ttl value validated in earlier nodes.
"ip4-input" node checks ttl for locally generated packets.
"ip4-rewrite" node validates ttl in forwarded packets.
Thus for example, the ED counterpart disables ttl checks
in its "nat44-ed-in2out-output" node.
This patch updates nat44 EI conditions for ttl checks to
those currently used in nat44 ED case, meaning no extra ttl
validation for in2out when output-feature is enabled.
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
Change-Id: Idd15d7c9a746b60c0a6dac5537d00ef10c257fdc
Nathan Skrzypczak [Wed, 18 May 2022 11:46:24 +0000 (13:46 +0200)]
vppapigen: fix make go-api for go1.18
This patch updates the go-api-files logic for supporting go1.18.
Notable changes are that `go get ...` changed to `go install`
and that we need to bump the govpp binapigen version to integrate
a go1.18 fix.
This patch also simplifies the cli execution syntax
Type: fix
Change-Id: I1d8aac65490fe3ea4c1965a4775b6bf8d5c05d26
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Saima Yunus [Thu, 19 May 2022 18:48:59 +0000 (11:48 -0700)]
build: add python3-pip dependency
- python3 pip module is missing on a new Ubuntu installation
Type: fix
Signed-off-by: Saima Yunus <yunus.saima.99@gmail.com>
Change-Id: I5a9886cd5f9226dc0a968c2f70a7c436a06ddf50
Vijayabhaskar Katamreddy [Thu, 26 May 2022 14:11:51 +0000 (14:11 +0000)]
ip: reassembly - Fixing buffer leaks, corruption in v6 reasm
Type: fix
*Buffer leaks and corruptions during internal errors, either overriding
or missing to add the buffer to the list
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: I1ead1eca1cde10a36d60dbfcfe36ca6375690b03
Vijayabhaskar Katamreddy [Thu, 26 May 2022 15:03:47 +0000 (15:03 +0000)]
ip: reassembly - pacing reassembly timeouts for v6
Type: fix
Pace the main thread activity for reassembly timeouts, to avoid barrier syncs
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: Iebe9a38d2a7a6471afa6621f12bb545668dc8384
Dave Wallace [Wed, 25 May 2022 01:25:55 +0000 (21:25 -0400)]
docs: update spelling word list and fix typos
- update wordlist and fix typos so that 'make docs-spell' passes
- sort spelling_wordlist.txt
- update docs maintainers list
Type: docs
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I38ac7850c604c323427d2bb6877ea98bd10bcc38
Andrew Yourtchenko [Wed, 25 May 2022 10:45:43 +0000 (10:45 +0000)]
misc: Initial 22.10-rc0 commit
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Ia1f2a8006edb8e57545a04a16edfb9704c3e904e
Nathan Skrzypczak [Fri, 25 Mar 2022 11:06:51 +0000 (12:06 +0100)]
docs: make docs build incremental
This patch makes the `make docs` directive incremental
avoiding re-running the siphon when the source hasn't
changed, and leveraging sphinx internal cache.
It adds a `make rebuild-docs` directive for cases where
this caching logic might break, e.g. in CI.
The virtualenv doesn't also get recreated on each build,
which might be enough when writing docs, provided
automated process leverage its rebuild counterpart.
Type: improvement
Change-Id: Ie90de3adebeed017b249cad81c6c160719f71e8d
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Tianyu Li [Fri, 22 Apr 2022 03:22:55 +0000 (11:22 +0800)]
tests: fix ipsec sdp cases with parrallel job
Serveral IPSec SPD cases re-use the same test class name,
leads to test error when do parrallel test with TEST_JOBS=16,
change the test class names to unique values.
Type: fix
Fixes:
7cd35f5d688d9e3bddf66602655274dae944b086
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: Ia5768654ddb6274531222761cc82b226d97325a9
Klement Sekera [Fri, 13 May 2022 16:01:36 +0000 (18:01 +0200)]
tests: fix default failed dir setting
When running tests via run.sh, default setting of None would cause
failed directory symlink to appear in vpp workspace with an ugly name.
This patch places the symlink in temporary directory.
Type: fix
Fixes:
b23ffd7ef216463c35b75c831e6a27e58971f4ec
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Change-Id: Ic1715eba7ac1f82f71855e2aeb9b659d27bbb3af
Mohsin Kazmi [Mon, 11 Apr 2022 16:14:45 +0000 (16:14 +0000)]
devices: add af-packet v3 api
Type: improvement
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I4679acbe4fd4400d57c0a79b0a6c74c8f1639703
Ting Xu [Tue, 8 Mar 2022 07:22:56 +0000 (07:22 +0000)]
flow: support generic flow and RSS action in vapi
Add generic flow type and rss action type to vapi. It is to support
creating generic flow rule via vapi.
Type: feature
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: Ifeaa007679487e02bd2903dc591d80a1caba33bc
Leung Lai Yung [Sun, 22 May 2022 13:25:53 +0000 (13:25 +0000)]
vppinfra: fix memory trace
Type: fix
reset the memory trace if mem trace is turned on
Signed-off-by: Leung Lai Yung <benkerbuild@gmail.com>
Change-Id: Ib99355b9ed42ff66c720bbea5cbbf03c65820d12
Mohammed Hawari [Wed, 18 May 2022 08:08:47 +0000 (10:08 +0200)]
vlib: implement aux data handoff
Type: improvement
Change-Id: I20b41537a249a55f01004e45392b34adaa8fd792
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Filip Varga [Mon, 23 May 2022 19:18:38 +0000 (21:18 +0200)]
api: start enum values from 0
C enum values by default start from 0.
All unassigned names should get value as value of previous name plus one.
The problem was that default value was 0 and adding one for the first
value would make generated api files start from 1 instead of 0.
Type: fix
Change-Id: I772d6411435648de3ec514f57025ef1acae87338
Signed-off-by: Filip Varga <fivarga@cisco.com>
Alexander Skorichenko [Fri, 20 May 2022 11:13:19 +0000 (11:13 +0000)]
dpdk: fix update link state
Type: fix
Correct vnet_hw_interface_t flags update on link state changes.
Currently incomplete set of flags is applied on each change,
only flags related to the most recent change are being set correct.
E.g. setting the link up would erase the duplex part of the flags.
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
Change-Id: I5b95e1c0eaea0c283b108dbf7f809682ec9064eb
Anton Nikolaev [Thu, 19 May 2022 10:52:01 +0000 (10:52 +0000)]
linux-cp: fix display of link_speed
Type: fix
Don't set link speed for tap interface when link speed is unknown
Signed-off-by: Anton Nikolaev <anikolaev@netgate.com>
Change-Id: Ia97277b3bf7c958fa665e4ead8d0e48f02921e69
Vijayabhaskar Katamreddy [Thu, 19 May 2022 17:07:22 +0000 (17:07 +0000)]
ip: reassembly - fixing stepping index in a better way
Type: fix
pool_is_free_index() check is performed only for the first element
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: Icadc715a9b54761ec69805a134a69a262137536d
Vijayabhaskar Katamreddy [Thu, 19 May 2022 17:48:13 +0000 (17:48 +0000)]
ip: reassembly - adding custom reassembly node
Type: fix
Custom node functionality is missing in v6, so bringing in similar to v4 functionality into ip6 as well
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: I28b0be2fc55a00bfc0b456b1caaa1dcf5641a44e
Mohsin Kazmi [Wed, 18 May 2022 16:51:57 +0000 (16:51 +0000)]
virtio: use the internal hdr offsets of buffer metadata for offloads
Type: improvement
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ie63c360f2e42e9e5799f5c536453823ea95ed3b8
Damjan Marion [Wed, 18 May 2022 20:16:11 +0000 (22:16 +0200)]
api: refactor api data storage
single struct to hold all api handler, flags, etc.
Provide functions to toggle flags instead of writing directly to
internal data.
Type: refactor
Change-Id: I4730d7290e57489de8eda34a72211527e015b721
Signed-off-by: Damjan Marion <damarion@cisco.com>
Stanislav Zaikin [Tue, 17 May 2022 17:18:53 +0000 (19:18 +0200)]
ikev2: fix tunnel direction
Type: fix
Change-Id: I480b1fcace1c27a5cb2d2956cec80b379105b55d
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Vijayabhaskar Katamreddy [Fri, 13 May 2022 13:07:19 +0000 (13:07 +0000)]
ip: reassembly - pacing reassembly timeouts
Type: fix
Pace the main thread activity for reassembly timeouts, to avoid barrier syncs
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: If8c62a05c7d28bfa6ac530c2cd5124834b4e8a70
Arthur de Kerhor [Mon, 16 May 2022 17:46:22 +0000 (19:46 +0200)]
stats: fix collector updates of symlinks
A node name is not bound to a node index. For example, if an interface
is deleted and re-added, the indexes of its nodes "<itfc_name>-tx"
and "<itfc_name>-output" may change. Thus, when the collector updates
the nodes stats, it should first delete all the symlinks for nodes that
have changed their names before adding new symlinks. Otherwise, it
could attempt to add already existing symlinks or delete valid ones.
Example of a series of command that triggers a crash in the assert
`ASSERT (node_data[i].symlinks[j] != CLIB_U32_MAX);`:
```
create loopback interface
create loopback interface
```
Wait for the nodes stats to update, then:
```
delete loopback interface intfc loop0
delete loopback interface intfc loop1
create loopback interface
create loopback interface
```
Type: fix
Change-Id: Ief8e7135e5c02dc6bc64dc94b76cff21ea9ab3a9
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Vijayabhaskar Katamreddy [Wed, 18 May 2022 14:31:03 +0000 (14:31 +0000)]
ip: reassembly - increasing the nbuckets for reass
Type: fix
Adding stats from debugging point of view
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: I3118d3fd5d630fad80a42ab960e30459789123cf
Damjan Marion [Wed, 18 May 2022 13:27:27 +0000 (15:27 +0200)]
vppinfra: fix non-vector build on x86_64
Type: fix
Fixes:
56f54af
Change-Id: Id03185953eb16da3a3276d2f21d64499784bbf17
Signed-off-by: Damjan Marion <damarion@cisco.com>
Filip Tehlar [Fri, 13 May 2022 00:36:39 +0000 (00:36 +0000)]
misc: update config script in IKEv2 test
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iba82f8e0f18f3e1e4da57f4c23ba9272e87afd93
Vijayabhaskar Katamreddy [Mon, 16 May 2022 22:18:37 +0000 (22:18 +0000)]
ip: reassembly - increasing the nbuckets for reass
Type: fix
as number of reass contexts increasing based on workers, increasing the number of nbuckets for bihash
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: I83d061a709ecb8845ce745b18d03fdefc795787f
Anton Nikolaev [Mon, 16 May 2022 10:33:17 +0000 (10:33 +0000)]
interface: fix overflow of link speed.
Type: fix
There were several places where mbps were converted to kbps for
link_speed, but often drivers of devices set link speed to unknown
(0xFFFFFFFF) on initialization, so there was multiplication of
link_speed equal 0xFFFFFFFF(UINT32_MAX) by 1000, this provides
overflow of unsigned int, and as result link_speed was equal
4295 Gbps, but actually link_speed is unknown.
Signed-off-by: Anton Nikolaev <anikolaev@netgate.com>
Change-Id: Ib462ed6ed685654af4687041e115bfb74e640f13
Steven Luong [Mon, 16 May 2022 22:53:43 +0000 (15:53 -0700)]
acl: memory leak in acl_fa_session_cleaner_process
The statement
pw0->pending_clear_sw_if_index_bitmap =
clib_bitmap_dup (pw0->serviced_sw_if_index_bitmap);
will cause pw0->pending_clear_sw_if_index_bitmap's previous
vector to be gone. Need to free it prior to calling clib_bitmap_dup()
Type: fix
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I20de780e73daea7be17efa0bf660af2592cd4680
Alexander Chernavin [Thu, 12 May 2022 14:56:24 +0000 (14:56 +0000)]
flowprobe: add api messages to obtain current state
Type: improvement
With this change:
- add dump/details messages to obtain interfaces for which IPFIX flow
record generation is enabled;
- add get message to obtain parameters;
- add a new message to set parameters with validation present and to
correspond with get/set naming;
- add tests for get/set parameters and dump/details interfaces.
Change-Id: I09f6ec990171ac8bcb9d2f5c92629803b8ab6c28
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Nathan Skrzypczak [Mon, 16 May 2022 08:44:32 +0000 (10:44 +0200)]
ip: format table ids with %u
Type: fix
Change-Id: I69f7e23b23e8cfcfe57ba019862470e0eb4b06db
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Damjan Marion [Fri, 13 May 2022 22:14:02 +0000 (00:14 +0200)]
vlib: exec cli line-by-line processing and script updates
Type: improvement
Change-Id: I82e7c0acc547794bcc7c42f4b8881a8251bf7a9b
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 13 May 2022 22:24:34 +0000 (00:24 +0200)]
session: revert "fix session cli maybe parse wrong args if executed in files"
Fixed at infra level.
Type: improvement
Change-Id: I43cf16870c1d2e12189073f7786d62375c46e2c2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Sun, 8 May 2022 18:48:37 +0000 (20:48 +0200)]
vlib: process startup config exec scripts line by line
This fixes long standing annoyance that CLIs with optional args cannot
be executed from file, as they cannot distinguish between valid optional
args and next line in the file.
Multiline statements can be provided simply by using backslash before \n.
Also comments are supported - everything after # is ignored up to the
end of the line.
Example:
# multiline cli using backslash
show version \
verbose # end of line comment
packet-generator new { \
name x \
limit 5 \
# comment inside cmultiline cli \
size 128-128 \
interface local0 \
node null-node \
data { \
incrementing 30 \
} \
}
Type: fix
Change-Id: Ia6d588169bae14e6e3f18effe94820d05ace1dbf
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohammed Hawari [Fri, 13 May 2022 07:45:12 +0000 (09:45 +0200)]
dpdk: fix overflow in mtu arithmetic
When the driver's max_rx_pktlen is >= 65536, max_supported_frame_size
overflows and queue creation fails.
Change-Id: If78707cb698adf8619ec44a852dd05d570917577
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Alexander Chernavin [Fri, 13 May 2022 08:34:34 +0000 (08:34 +0000)]
tests: fix pnat tests formatting
Type: fix
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I944dc8418e7ab541ae96141c15e04abb33635ac4
Vijayabhaskar Katamreddy [Mon, 9 May 2022 14:13:07 +0000 (14:13 +0000)]
ip: reassembly - Fixing buffer leaks, corruption
Type: fix
*Buffer leaks and corruptions during internal errors, either overriding
or missing to add the buffer to the list
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Change-Id: I6c2406cff53a741e800e2d05593696f3e9fd6ff5
Alexander Chernavin [Fri, 6 May 2022 11:35:59 +0000 (11:35 +0000)]
flowprobe: add support for reporting on inbound packets
Type: feature
Currently, the plugin supports only IPFIX flow record generation for
outbound packets.
With this change:
- add a new API message for enabling the feature on an interface that
accepts direction (rx, tx, both);
- update existing debug command for feature enabling to accept
direction;
- update existing debug command for showing currently enabled feature
on interfaces to display direction;
- update templates to include a direction field;
- generate flow records on the specified direction and data path;
- report direction in flow data;
- update tests to use the new API;
- add tests for inbound flows.
Change-Id: I121fd904b38408641036ebeea848df7a4e5e0b30
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Fahad Naeem [Tue, 10 May 2022 06:03:52 +0000 (01:03 -0500)]
pnat: add support to wildcard IP Protocol field if not specified
- add pnat_binding_add_v2 which explicitly requires match mask to
set to PNAT_PROTO if we want to match on IP Protocol
- fix pnat_binding_add backward compatibility i.e. no need to set
match mast to PNAT_PROTO
Type: improvement
Signed-off-by: Fahad Naeem <fahadnaeemkhan@gmail.com>
Change-Id: I5a23244be55b7d4c10552c555881527a4b2f325f
Klement Sekera [Wed, 11 May 2022 14:54:09 +0000 (16:54 +0200)]
tests: fix checkstyle-python
Add --check to black to pass back error value and fail checkstyle if
a reformat would occur.
Type: fix
Fixes:
d9b0c6fbf7aa5bd9af84264105b39c82028a4a29
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Change-Id: I9a1fbe224929fc461ff833a589f73ca06e7cc9d6
Andrew Yourtchenko [Wed, 11 May 2022 13:41:20 +0000 (13:41 +0000)]
api: revert the changes to atexit for shared memory client
2ca88ff97884ec9ed20a853b13cee6d86f9c9d0f introduced the change
into the shared memory atexit, which breaks IPSec tests in some
environments.
Type: fix
Fixes:
2ca88ff97884ec9ed20a853b13cee6d86f9c9d0f
Change-Id: Ia132cb045e8d66f55e41d29cffdca3458d61096d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Mohammed Hawari [Wed, 11 May 2022 09:36:19 +0000 (11:36 +0200)]
dpdk: clear the RTE_MEMPOOL_F_NON_IO
This mempool flag should be cleared when the mempool is populated, to
reproduce the behaviour of rte_mempool_populate_iova in DPDK 22.03
Change-Id: I4c0e07efca9df2e472e8e393689127c01cf66da2
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
Fixes:
2f132efc3cafde5a0dd01ef8a91606528970cdf7
Klement Sekera [Tue, 26 Apr 2022 17:02:15 +0000 (19:02 +0200)]
tests: replace pycodestyle with black
Drop pycodestyle for code style checking in favor of black. Black is
much faster, stable PEP8 compliant code style checker offering also
automatic formatting. It aims to be very stable and produce smallest
diffs. It's used by many small and big projects.
Running checkstyle with black takes a few seconds with a terse output.
Thus, test-checkstyle-diff is no longer necessary.
Expand scope of checkstyle to all python files in the repo, replacing
test-checkstyle with checkstyle-python.
Also, fixstyle-python is now available for automatic style formatting.
Note: python virtualenv has been consolidated in test/Makefile,
test/requirements*.txt which will eventually be moved to a central
location. This is required to simply the automated generation of
docker executor images in the CI.
Type: improvement
Change-Id: I022a326603485f58585e879ac0f697fceefbc9c8
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Klement Sekera [Wed, 6 May 2020 10:11:36 +0000 (10:11 +0000)]
nat: improve icmp type detection performance
Replace code with branchless code.
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ic38a20ad33483c1c26f90a927f8b963b0ead4a87
Klement Sekera [Tue, 25 Jan 2022 17:32:38 +0000 (17:32 +0000)]
ip: reassembly: add documentation
Type: docs
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I23008cde47d8b7a531346eab02902e2ced18742a
Klement Sekera [Thu, 20 May 2021 10:23:00 +0000 (12:23 +0200)]
ip: fix buffer leaks in reassembly
Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I952ba7e042779855e29628d048da7edec1caaafd
Steven Luong [Fri, 6 May 2022 20:34:10 +0000 (13:34 -0700)]
vhost: memory leak upon deleting vhost-user interface
We allocate vring_spinlock for all vrings in the vui, not just the ones
being used. So when we free the vui, we have to free vring_spinlock for
all vrings, not just the one being used.
Type: fix
Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I3951fda71ce6e11474b04302116ea9e08b404758
Gabriel Ganne [Thu, 5 May 2022 08:16:56 +0000 (10:16 +0200)]
devices: fix crash on invalid interface
Type: fix
A simple "create host-interface name xxx" is enough to trigger the bug:
The interface is not found, and we goto error with apif=NULL
Signed-off-by: Gabriel Ganne <gabriel.ganne@gmail.com>
Change-Id: I2f894176d39b3d15efab054dc7340e7a0600a2e8
Xiaoming Jiang [Mon, 2 May 2022 15:07:31 +0000 (15:07 +0000)]
session: fix session cli maybe parse wrong args if executed in files
Type: fix
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
Change-Id: Id19a52df4f237cf5d85d305fdc279ab7df2d6f4b
Damjan Marion [Fri, 6 May 2022 10:39:10 +0000 (12:39 +0200)]
stats: add vlib_stats_free_string_vector
Type: improvement
Change-Id: Ifa9f908b24b5fe867826601d32eeb4f0d639fbeb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 6 May 2022 10:37:30 +0000 (12:37 +0200)]
vppinfra: free vector against its heap
Type: fix
Change-Id: Ie292ee56dd5265a56ef472554aaf086e61da7089
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 6 May 2022 10:38:19 +0000 (12:38 +0200)]
stats: strings in string vector are c strings
Type: fix
Change-Id: I9cf9376f2813f7bceecc6a9d714dcb98df77615d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Ting Xu [Thu, 5 May 2022 09:12:50 +0000 (09:12 +0000)]
dpdk: fix generic flow input parsing in FDIR
This patch fixes the issue that in DPDK FDIR generic flow parsing, the
inputs will be changed during processing, which will lead to a failure
in vnet flow when creating generic flow rules.
Type: fix
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I107735a305ff48593d66746e0cd642c76ad5700d