Ting Xu [Thu, 15 Dec 2022 02:10:59 +0000 (02:10 +0000)]
idpf: add native idpf driver plugin
Add a new native idpf driver. This patch enables the device
initialization. Add some necessary functions and definations
for input and output. A new version of virtchnl is introduced.
Type: feature
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: Ibbd9cd645e64469f1c4c8b33346c1301be3f6927
nucleo [Tue, 15 Aug 2023 17:59:35 +0000 (20:59 +0300)]
dpdk: Newer meson 0.55.3
Fixes error with python 3.12
No module named 'pkg_resources'
'import pkg_resources' removed in 0.55.3
Type: fix
Change-Id: I15c8cf195fd07a0eb2f3b58f895ef4b26cc17b90
Signed-off-by: nucleo <alekcejk@googlemail.com>
Dave Wallace [Tue, 15 Aug 2023 23:05:26 +0000 (19:05 -0400)]
tests docs: update python3 venv packages
- Package update performed by
1. updating pip, pip-tools, setuptools
2. 'make test-refresh-deps' on ubuntu 22.04
3. fixing 'make test' and 'make docs' issues
on ubuntu 22.04
4. 'make test-refresh-deps' on ubuntu 20.04
- Add dependency for 'make test-refresh-deps'
to insure python venv is set up.
- Update of python formatter, black,
caused reformating of 41 python code
files.
Type: make
Change-Id: I7cafdf4b5189065ac57cb6b254937f6e0897a924
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
yanlong [Tue, 8 Aug 2023 03:36:32 +0000 (11:36 +0800)]
l2:Add doc for l2 rewrite, and add examples
Supplemented the documentation of "l2 rewrite", and added examples
Type:docs
Change-Id: If49ae0b22989b3cd1c88a27a4e51b74be32d75e7
Signed-off-by: yanlong <dyl_wlc@163.com>
Andrew Yourtchenko [Tue, 1 Aug 2023 11:03:29 +0000 (13:03 +0200)]
nat: mark several messages as production
As per discussion on the VPP call, since they are being
used in CSIT tests and have not seen changes in a while,
mark the messages as production from the change process
standpoint.
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I7fda71edd923b798d034380320a869f7c35cb5a6
Florin Coras [Tue, 15 Aug 2023 19:11:50 +0000 (12:11 -0700)]
vcl: fix ldp epoll events array overrun
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3dd65946c220f958a4fda0551b053d690bf06c39
Florin Coras [Tue, 15 Aug 2023 18:16:34 +0000 (11:16 -0700)]
vcl: handle postponed disconnects with select
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia8449344a471129c0d148b39d97a5d310c2a1fc7
wanghanlin [Tue, 8 Aug 2023 02:40:04 +0000 (10:40 +0800)]
vcl: fix error state switch for vcl_handle_mq_event
When a listen session receives an ACCEPTED message, but then
receives either a RESET or DISCONNECTED message from VPP before the
session is accepted, the listen session state is switched to
VPP_CLOSING or DISCONNECT.
The subsequent CLEANUP message handler attempts to send a
disconneted or reset reply message to VPP, but since the vpp_evt_q
for the listen session is null, this leads to a crash.
Type: fix
Change-Id: Ic51f78f631fe8d15bf8c56b795f4a900c3e2f724
Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Dave Wallace [Mon, 14 Aug 2023 20:19:46 +0000 (16:19 -0400)]
dpdk: bump rdma-core to 46.1
- Per dpdk 23.07 release notes (rdma-core >= 46.0)
Type: feature
Change-Id: I7c15e15e1cf4b6f652711f9446d9f8324f6c4092
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Kai Ji [Tue, 8 Aug 2023 23:46:12 +0000 (23:46 +0000)]
dpdk: bump to DPDK 23.07
This patch bumps DPDK version from 23.03 to 23.07.
Type: feature
Change-Id: I15140cecd008bfafb358f6348a1cb8fc08f70f02
Signed-off-by: Kai Ji <kai.ji@intel.com>
Florin Coras [Fri, 11 Aug 2023 21:40:13 +0000 (14:40 -0700)]
session: fix coverity warnings
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I910c8ce1713c6d346cc5ea4eb58a89c1c30a10a1
Dave Wallace [Wed, 9 Aug 2023 16:58:22 +0000 (12:58 -0400)]
tests: filter coverage report output
- Remove test code & non-vpp code from coverage report
- Remove driver/hardware vpp code which cannot be tested
in 'make test' from coverage report
Type: fix
Change-Id: I04b50c14bc3437b845f2afafae47297189e61e3f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Vratko Polak [Mon, 31 Jul 2023 15:08:21 +0000 (17:08 +0200)]
crypto-sw-scheduler: avoid crypto work on vpp_main
+ Checkstyle demanded indentation edits.
Type: fix
Ticket: VPP-2083
Fixes:
9a9604b09f15691d7c4ddf29afd99a31e7e31eed
Change-Id: Ie2d33d290330247d36435a073675b732bb64ae93
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Steven Luong [Tue, 8 Aug 2023 18:20:09 +0000 (11:20 -0700)]
docs: correct the directory path for index.html
Type: fix
Change-Id: Ia0d6f57790dbca92662c6d8b986c325f1c399131
Signed-off-by: Steven Luong <sluong@cisco.com>
Florin Coras [Thu, 22 Dec 2022 23:03:44 +0000 (15:03 -0800)]
session: async rx event notifications
Move from synchronous flushing of io and ctrl events from transports to
applications to an async model via a new session_input input node that
runs in interrupt mode. Events are coalesced per application worker.
On the one hand, this helps by minimizing message queue locking churn.
And on the other, it opens the possibility for further optimizations of
event message generation, obviates need for rx rescheduling rpcs and is
a first step towards a fully async data/io rx path.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id6bebcb65fc9feef8aa02ddf1af6d9ba6f6745ce
Nathan Skrzypczak [Wed, 4 Nov 2020 10:41:05 +0000 (11:41 +0100)]
cnat: remove rwlock on ts
Type: improvement
Remove rwlock contention on timestamps. ~10% pps with
10k sessions. Use fixed-size-pools of increasing sizes
starting with 4K, and with a x2 step each time.
We don't free/shrink allocated pools.
Change-Id: I5fea51faba40430106c823275a6356e81709d118
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Fri, 4 Jun 2021 16:37:27 +0000 (18:37 +0200)]
cnat: add ip/client bihash
This replace the cnat ip4/ip6 to client
lookups previously done with a regular
hash, by a bihash lookup.
Type: improvement
Do the client lookup in a bihash instead of
a hash.
Change-Id: I730c1893525c002b44ada8e290a36802835e88e9
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Dave Wallace [Tue, 8 Aug 2023 19:25:21 +0000 (15:25 -0400)]
tests: fix setting gcov flag for test-cov target
Type: fix
Change-Id: I3c663babe4f32f5d2870265336b5d272cc029ce7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Nathan Skrzypczak [Thu, 14 Oct 2021 15:41:57 +0000 (18:41 +0300)]
cnat: flag to disable rsession
This adds a flag on the translation
asking the VIP & input-feature nodes
not to create the return session when
translating / load-balancing an incoming
flow. This is needed with maglev & DSR
Type: feature
Change-Id: I699012310ddc59f6ceeeb4878638eac6da5128dc
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
yanlong [Wed, 26 Jul 2023 07:12:04 +0000 (15:12 +0800)]
docs:Improve the README of vpp docs
Type:fix
Change-Id: Ie2ae728450ef123379b697cdf9c873d5bec01b47
Signed-off-by: yanlong <dyl_wlc@163.com>
Benoît Ganne [Fri, 10 Mar 2023 16:33:03 +0000 (17:33 +0100)]
ipsec: add support for RFC-4543 ENCR_NULL_AUTH_AES_GMAC
Type: improvement
Change-Id: I830f7a2ea3ac0aff5185698b9fa7a278c45116b0
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Gao Feng [Mon, 17 Jul 2023 14:19:32 +0000 (22:19 +0800)]
vcl: Fix the ldp init check
Maybe some function calls the wrapper funtion like read which invokes
the ldp_init_check in the other libs as a constructor before
ldp_constructor. Then the ldp has been initialized already when
ldp_constructor is invoked. And it's normal case, we shouldn't treat it
as an error.
So ldp_init should return success if ldp is initialized already instead
of an assert.
Type: fix
Change-Id: Ifa2a7b1d5471981a3f840b14a4fa5d48fb1f1374
Signed-off-by: Gao Feng <gfree.wind@outlook.com>
Damjan Marion [Sun, 6 Aug 2023 23:15:37 +0000 (01:15 +0200)]
vlib: support sibling node creation with vlib_register_node()
Type: improvement
Change-Id: I7e82a262692b2b6513f81889d78a43c10ca7bfb2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Sun, 6 Aug 2023 23:07:09 +0000 (01:07 +0200)]
vppinfra: add clib_file_get_resolved_basename
more generic version of clib_sysfs_link_to_name with support for
format strings...
Type: improvement
Change-Id: I0cb263748970378c661415196eb7e08450370677
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Sun, 6 Aug 2023 18:41:40 +0000 (20:41 +0200)]
vppinfra: add vec_foreach_pointer macro
works with vectors of pointers...
Type: improvement
Change-Id: I530653978fcf981be299cf42a1133be000d74d0c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Sun, 6 Aug 2023 18:39:38 +0000 (20:39 +0200)]
vppinfra: add unformat_init_path
More conveninet way to unformat file by providing filesystem path.
Takes format string for easier constuction of path...
Type: improvement
Change-Id: I433204fa20dc98e2b11c53914883d047a7fc62c6
Signed-off-by: Damjan Marion <damarion@cisco.com>
wanghanlin [Mon, 7 Aug 2023 09:23:53 +0000 (17:23 +0800)]
vcl: fix error state switch for VCL_STATE_LISTEN_NO_MQ sessions
When a VCL_STATE_LISTEN_NO_MQ session receives an ACCEPTED message,
but then receives either a RESET or DISCONNECTED message from VPP
before the session is unlistened, the listen session state is
switched to DISCONNECT.
The subsequent CLEANUP message handler attempts to send a reset
reply message to VPP, but since the vpp_evt_q for the listen
session is null, this leads to a crash.
Type: fix
Change-Id: Id7e88dcb16df3eda912b3f763730ec8d8973473a
Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Nathan Skrzypczak [Thu, 25 Feb 2021 18:13:19 +0000 (19:13 +0100)]
cnat: Support offloaded check sums
This patch removes zero checks for new_addr, new_port
meaning sessions with zero values will rewrite the packet
with a 0 value instead of leaving it in place. This allows
to reduce branchiness in the code, and sessions are fully
resolved at creation time anyway.
This also adds support for checksum offloads:
- IP checksum offload : we always compute the checksum to
avoid issues with drivers. We'll revert this if we realize
cost gets too important.
- TCP/UDP checksum offload : we add the implementation for
pseudo header checksum computation. This is needed for the
drivers that do not re-compute this pseudo-checksum before
the packet is TX-ed (e.g. a few DPDK drivers).
Type: improvement
Change-Id: I6543f3aec8c120ec50f4219108609138283620ef
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Benoît Ganne [Fri, 4 Aug 2023 14:13:43 +0000 (16:13 +0200)]
nsh: fix nsh gre references
Since gre is a plugin, nsh should not use symbol names directly.
Type: fix
Fixes:
cefb178aa487a217d4ac75d7d4fa62db4b7d70fd
Change-Id: I1a1c20740aabdaafd69f507cd71016c3109b0205
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Damjan Marion [Fri, 4 Aug 2023 10:47:44 +0000 (10:47 +0000)]
vpp: detect early nosyslog and interactive flags
So error logs are displayed on console earlier....
Type: improvement
Change-Id: If31b76c9d06254b0fec5b5b3f4e92a881b4cf786
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 2 Aug 2023 15:58:58 +0000 (15:58 +0000)]
vppinfra: add pool_foreach_pointer()
Works on pools of pointers...
Type: improvement
Change-Id: I194dec389ca4c5ec2ce3361b54a9968c9caecefc
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 1 Aug 2023 17:53:22 +0000 (10:53 -0700)]
quic: fix closing of streams
Avoid explicit manipulation of session state and generate closing event
if need be.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I07cda1db08a2673b27b496ea1371b0dfd8e6f98a
Damjan Marion [Fri, 28 Jul 2023 18:06:09 +0000 (20:06 +0200)]
vlib: remove dependency on libuuid
Type: improvement
Change-Id: I4e2b2e4f227dfcb3df36166db13c8aa5c0b603f5
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 31 Jul 2023 18:07:31 +0000 (20:07 +0200)]
vppinfra: add unformat_c_string_array
Type: improvement
Change-Id: Iea5ecca5d4cbc6c7aea69104830afcfe78c708ee
Signed-off-by: Damjan Marion <damarion@cisco.com>
Sylvain Cadilhac [Fri, 28 Jul 2023 21:36:35 +0000 (23:36 +0200)]
ipsec: fix IPv6 IPsec tunnel punting
Type: fix
Buffer needs to be rewinded before being passed to punt-dispatch node.
Change-Id: I43d103515d372e425f4c3b08ca1779398f1fced4
Signed-off-by: Sylvain Cadilhac <sylvain.cadilhac@freepro.com>
Mohsin Kazmi [Thu, 27 Jul 2023 16:58:41 +0000 (16:58 +0000)]
libmemif: add support for buffer size
Type: improvement
buffer size can be configurable:
./test_app -b 9216
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Id77f6baac27d45dec3d5b7ea8a9a53acf2a302fc
Dave Wallace [Fri, 28 Jul 2023 20:31:51 +0000 (16:31 -0400)]
vlib: fix gcc build breakage
Type: fix
Fixes:
00ea98ad6
Change-Id: I4ac8c9c5902299d5f283ba4912d52d9bfcedef5c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Filip Tehlar [Tue, 27 Jun 2023 08:01:37 +0000 (10:01 +0200)]
hs-test: improve get stats
Type: test
Change-Id: Ie681ee43007f4fe787d51d80bda9b433dcb6c09a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Florin Coras [Fri, 28 Jul 2023 16:11:23 +0000 (09:11 -0700)]
session: regrab evt llist elt for app transports tx
App transports like TLS can close sessions on tx and consequently
generate new events. That can realloc the event pool.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I58a97502acc1182b3d051ba1aa9e0e98c16f4593
Damjan Marion [Fri, 28 Jul 2023 11:02:00 +0000 (13:02 +0200)]
vnet: add vnet_register_device_class function
To allow dynamic registration of device classes..."
Change-Id: Ie8435e8c55b7e300be06abe97b653c0c3ce7f732
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 28 Jul 2023 11:19:49 +0000 (13:19 +0200)]
vlib: pci cleanup and improvements
Change-Id: Ieafbed6f2db3dec65e4b43d84a4661f6a1bbe891
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Fri, 28 Jul 2023 10:57:15 +0000 (12:57 +0200)]
vlib: fix coverity issue in vlib_node_set_interrupt_pending
Type: fix
Fixes:
cc8249c
Change-Id: Iebfbbd1e00782c4097cc840460b5177d18921131
Signed-off-by: Damjan Marion <damarion@cisco.com>
Filip Tehlar [Thu, 27 Jul 2023 13:49:12 +0000 (15:49 +0200)]
hsa: add total bytes parameter to vcl_test_client
Type: test
Change-Id: Ib1131eedb8eeaa9adfed9cfc47beeb1c7c8adb5c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Thu, 20 Jul 2023 16:09:36 +0000 (18:09 +0200)]
session: remove unused code
Type: improvement
Change-Id: I7525aa81acf073707550b23541fdcc358b9bf49c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Maxime Peim [Mon, 3 Jul 2023 07:42:58 +0000 (09:42 +0200)]
ipsec: fix sa bind cli
Small mistake was made, reported by coverty scan.
Type: fix
Change-Id: I98ca16c0275a94b2def99831f9353d4ff3fe93a9
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Denys Haryachyy [Wed, 12 Jul 2023 14:32:55 +0000 (17:32 +0300)]
ikev2: cleanup stuck sessions
The following issues are fixed:
* in responder code: do lookup again as the old pointer could be
invalidated during the cleanup operation
* in initiar code: do the cleanup of session if there're no child SAs or
if there's no response from the responder during initial request (this
can easily happen if the response packet was lost/dropped/etc)
* print the state of ikev2 profile (for easier tshooting)
Type: fix
Change-Id: I853d9851c0cf131696585e3c98fa97e66789badd
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Florin Coras [Wed, 26 Jul 2023 18:27:33 +0000 (11:27 -0700)]
vcl: allow rx of zero length dgrams
Type: fix
Change-Id: I438ef488357456e9415e51a17355e9eba8518808
Signed-off-by: Florin Coras <fcoras@cisco.com>
Vratko Polak [Wed, 26 Jul 2023 11:48:20 +0000 (13:48 +0200)]
vlib: rename vnet_log_get_class_data
It is a function in vlib, so no reason to mention vnet.
Type: fix
Fixes:
bf179a91d8d224c64d08643a2bb52580f68ce96b
Change-Id: Ic5f601d94d88b667f7ce44a017a0e1d5b4db5da1
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Steven Luong [Tue, 25 Jul 2023 19:32:01 +0000 (12:32 -0700)]
stats: remove extra format line
The extra format line was added for no reason from patch
ff27c9f8e.
Type: fix
Fixes:
ff27c9f8e
Change-Id: Ib25149cc8a17c29d0c8a0dbc06f0ea12ca4f328c
Signed-off-by: Steven Luong <sluong@cisco.com>
Filip Tehlar [Wed, 28 Jun 2023 08:47:32 +0000 (10:47 +0200)]
session: use session error type instead of vnet error
Type: improvement
Change-Id: Ie0bad9e03ac2e29da23af01ee7f63cb44489ad9c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Damjan Marion [Sun, 23 Jul 2023 12:24:22 +0000 (14:24 +0200)]
vlib: interrupt mode support for pre-input nodes
Type: improvement
Change-Id: Ic6e60597d2be63e3a0ae4399a81dbbd72392f30d
Signed-off-by: Damjan Marion <damarion@cisco.com>
Maxime Peim [Mon, 3 Jul 2023 15:45:51 +0000 (17:45 +0200)]
classify: add bpf support to pcap classifier
Type: feature
Change-Id: I28fb38e49c89f4c4d4cc58c1a5c0aa8502678472
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Tianyu Li [Fri, 7 Jul 2023 06:38:06 +0000 (06:38 +0000)]
dpdk: fix signed single bit field
clang-16 complains about signed one-bit bitfield value changes
from 1 to -1. Use unsigned type instead.
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I84f8cf314d36183a5e6f544cd756c01d1d10a1a5
Gabriel Oginski [Fri, 7 Jul 2023 11:58:26 +0000 (11:58 +0000)]
vpp-swan: fix handler API messages
In the current implementation there is a bug related to the incorrect
message handling due to the wrong id.
The fix changes logic responsible for handling incoming API messages
by correcting their ids.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: Iea29506053c9fd2e1d01bce83e7f4a6e1de39321
qinyang [Tue, 27 Jun 2023 08:11:53 +0000 (01:11 -0700)]
vcl: ldp support SO_ORIGINAL_DST
Type: improvement
Support SO_ORIGINAL_DST socket option to get original dst_ip4 and dst_port if nat44 rule enabled.
Change-Id: If00e00d03e48f3b78a23a68f1b078954d79dd0f7
Signed-off-by: qinyang <qiny@yusur.tech>
Naveen Joy [Tue, 27 Jun 2023 21:28:57 +0000 (14:28 -0700)]
tests: Add checksum offload interface tests
Type: test
Change-Id: I6edc8858b802d3d32159d71c1e867a06cc1025d5
Signed-off-by: Naveen Joy <najoy@cisco.com>
Piotr Bronowski [Thu, 23 Feb 2023 09:56:49 +0000 (09:56 +0000)]
ipsec: fix logic in ext_hdr_is_pre_esp
When _VEC128 instructions are not enabled logic is buggy.
The function always returned 1.
Type: fix
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I603200637e8d65813f4e49ef15d798e74b79b9cf
Steven Luong [Wed, 19 Jul 2023 06:25:15 +0000 (23:25 -0700)]
vcl: zero out cmsg for recvmsg API
When msg->msg_controllen is set in recvmsg, the caller wants to receive
additional information about the messages. However, they might not
always be available. In that case, we should clear cmsg since
the caller uses CMSG_NXTHDR which might access uninitialized fields in
cmsg.
Type: fix
Change-Id: Ifdf9634bfcb1427f7ae3812014a46bfd7f4bc473
Signed-off-by: Steven Luong <sluong@cisco.com>
Gabriel Oginski [Fri, 14 Jul 2023 07:22:12 +0000 (07:22 +0000)]
vpp-swan: change flow in function for add route
This patch addresses the issue when the list of available interfaces
is not up to date. Due to this issue adding a new route fails
and finally the connection is not established.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I3a63c0dd99ebc28ea149b4b23867440937682761
Gabriel Oginski [Thu, 6 Jul 2023 11:13:16 +0000 (11:13 +0000)]
vpp-swan: fix incorrect msg ID in register_event
This patch addresses the issue where the message ID registration
in the register_event function is incorrect. Due to this incorrect
registration, the lookup for the corresponding callback on received
messages fails, eventually leading to a segmentation fault
and double-free memory space.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: If95182f972f64adb44d514e18c831cc9627d8f0f
Gabriel Oginski [Thu, 6 Jul 2023 09:18:45 +0000 (09:18 +0000)]
vpp-swan: fix function to get sw_if_index
In the current implementation there is a bug in the function
responsible for getting software interface index by the name of the
interface. Incorrect function is used to send the API message, also
the handler with replied message is incorrect.
The fix changes function to send dump message and also adds handler
with replied message in the correct way.
Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: Id1a3ba2ce7e92d216907f344431b9e2acb1d5572
Dave Wallace [Thu, 6 Jul 2023 20:38:49 +0000 (16:38 -0400)]
docs: add api change process from wiki
- Move the VPP API Change Process documentation
from the wiki page into the in-tree VPP docs
Type: docs
Change-Id: I42f661618b8632230bebe3aa8fbad455b9a05d01
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Matthew Smith [Fri, 14 Jul 2023 16:05:39 +0000 (16:05 +0000)]
ipip: populate mode in tunnel details
Type: improvement
There is a mode field in ipip_tunnel_details. The handler for the dump
API does not do anything to populate it so it always contains 0
(TUNNEL_API_MODE_P2P). This is correct for p2p tunnels but is wrong for
multipoint tunnels.
Populate the field with the correct mode.
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I6c1288a0d3929db0f67100748b5760c36b594f97
Florin Coras [Wed, 12 Jul 2023 12:44:45 +0000 (05:44 -0700)]
hsa: fix echo client init
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ieb2d1e6e0949844a70c81b218ca7dc83690776ca
Nobuhiro MIKI [Wed, 28 Jun 2023 06:15:58 +0000 (15:15 +0900)]
lb: Fix src_ip_sticky evaluation bug in per-port-vip case.
Before this fix, the src_ip_sticky flag was passed as an argument to
the lb_node_get_hash function, which computes a hash value for a packet.
However, in per-port-vip case, the value of src_ip_sticky flag may be
different for each port number. As a result, the value is the same for
all port numbers, even though it is a per-port-vip case.
This commit fixes the src_ip_sticky evaluation by delaying it until the
packet is received, so that the correct value is obtained. Also, the
unit test case has been enhanced for this bug fix.
The steps to reproduce this bug are described below:
https://lists.fd.io/g/vpp-dev/message/23248
Type: fix
Fixes:
613e6dc0bf92 ("lb: add source ip based sticky load balancing")
Change-Id: I483492b214a1768e7a21fd86edd5151b3c46528b
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
Alexander Chernavin [Tue, 11 Jul 2023 11:10:48 +0000 (11:10 +0000)]
linux-cp: fix crash on processing dump of routes
nl_route_add() recently started to use its optional argument to check
whether replace flag is set for the message. When notification messages
are processed, the argument is a pointer to the corresponding message
info. However, when dump replies are processed, the argument is a null
pointer. This leads to null pointer dereference and crash when dump of
routes is processed.
With this fix, check for replace flag only if message info was passed
to nl_route_add(). Otherwise, assume the flag is not set. Dump replies
do not have it set.
Type: fix
Change-Id: Icb04a1146e09cc965b623018c28f91b347be0eab
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Damjan Marion [Tue, 13 Jun 2023 14:05:56 +0000 (16:05 +0200)]
avf: remove barrier
Type: improvement
Change-Id: I95023d2e6034b77952e0423d0430b433ea0dab15
Signed-off-by: Damjan Marion <damarion@cisco.com>
Adrian Pistol [Wed, 7 Jun 2023 13:28:17 +0000 (15:28 +0200)]
linux-cp: Basic MPLS support.
1) Imports ENCAP_MPLS labels from IPv4/IPv6 routes.
Note that this requires libnl 3.6.0 or newer.
In previous patches, the fib_path_ext_t had a path ID of -1.
After a long investigation, it turned out to be caused by route weight
being set to 0. There is a comment explaining more details.
2) Handles MPLS routes.
MPLS routes were wrongly added as IPv4 routes before.
POP and SWAP are now both supported.
All the routes are installed as NON-EOS and EOS routes,
as the Linux kernel does not differentiate.
EOS POP used in PHP uses the next-hop address family
to determine the resulting address family.
This patch is sufficient for P setups.
PE setups with implicit null should also function okay, as long as a
seperate label gets programmed per address family.
PE setups with explicit null will also forward packets,
but punting is a bit odd and needs MPLS input enabled on the LCP host
device.
3) Propagate MPLS input state to LCP Pair and Linux.
Since the Linux kernel uses the MPLS routes itself,
the LCP pair tap needs MPLS enabled to allow host originated packets.
This also syncs the Linux `net.mpls.conf.<host_if>.input` sysctl to
allow punted packets to have MPLS labels, mostly explicit nulls.
In addition, a special feature is enabled to cross connect MPLS packets
coming from Linux directly to interface-output untouched.
Make sure to enable MPLS/add a table in VPP first and load the
MPLS kernel modules!!
Type: feature
Change-Id: Ie4184bb4cc96905bf8b483a27e7ca6d251697374
Signed-off-by: Adrian Pistol <vifino@posteo.net>
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Steven Luong [Wed, 21 Jun 2023 05:22:45 +0000 (22:22 -0700)]
stats: fix duplicate /if/names entry
stats entries /if/names are never deleted as it is a vector of the
sw_if_index value. When the interface is deleted and then created again
later, and if the new interface takes a different sw_if_index, we may
end up with duplicate entries for the same interface name. For example,
the following configuration sequence causes problem
create loopback interface
create loopback interface
delete loopback interface intfc loop0
delete loopback interface intfc loop1
create loopback interface
vpp_get_stats dump /if/names
[0]: local0 /if/names
[1]: loop0 /if/names
[2]: loop0 /if/names
The fix is to set the delete /if/names entry to deleted when the interface is deleted.
Type: fix
Change-Id: I7d811b12d56e3cf8c7deffe14736ea0f24814d02
Signed-off-by: Steven Luong <sluong@cisco.com>
Tianyu Li [Fri, 7 Jul 2023 06:47:56 +0000 (06:47 +0000)]
api: fix signed single bit field
clang-16 complains about signed one-bit bitfield value
changes from 1 to -1. Use unsigned type instead.
Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: Iab006c036d4068af2fe3caaefc871a95b26cc578
Ondrej Fabry [Thu, 4 May 2023 12:52:54 +0000 (14:52 +0200)]
api: lcp - Mark old message versions as deprecated
List of changed messages:
- lcp_itf_pair_add_del
- lcp_itf_pair_add_del_reply
- lcp_itf_pair_add_del_v2
- lcp_itf_pair_add_del_v2_reply
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: Ic20a852dd1fb27858c8776095f9c98757b89bfe8
Ondrej Fabry [Thu, 13 Apr 2023 06:55:28 +0000 (08:55 +0200)]
api: ip - Mark old message versions as deprecated
List of changed messages:
- ip_punt_redirect_dump
- ip_punt_redirect_details
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: Icf91f760b9bd328110b0f9fc2e421bb954033d21
Ondrej Fabry [Wed, 26 Apr 2023 22:00:01 +0000 (00:00 +0200)]
api: memif - Mark old message versions as deprecated
List of changed messages:
- memif_socket_filename_add_del
- memif_socket_filename_add_del_reply
- memif_create
- memif_create_reply
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: Id334990584b64a0efa3c28a3d8b6b641adab8c09
Ondrej Fabry [Wed, 26 Apr 2023 22:00:27 +0000 (00:00 +0200)]
api: memclnt - Mark old message versions as deprecated
List of changed messages:
- memclnt_create
- memclnt_create_reply
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I0031cc2f1604ca4c34574c8e1ee28e358c2bbe5d
Ondrej Fabry [Wed, 26 Apr 2023 22:00:33 +0000 (00:00 +0200)]
api: pg - Mark old message versions as deprecated
List of changed messages:
- pg_create_interface
- pg_create_interface_reply
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I574927f0820c54d748f27fd96a45afec5243b645
Ondrej Fabry [Wed, 26 Apr 2023 22:00:40 +0000 (00:00 +0200)]
api: sr - Mark old message versions as deprecated
List of changed messages:
- sr_policies_dump
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I16ae1bed83ad8c73e3254b6d195251702de84f97
Ondrej Fabry [Fri, 14 Apr 2023 08:50:12 +0000 (10:50 +0200)]
api: ipsec - Mark old message versions as deprecated
List of changed messages:
- ipsec_sad_entry_add_del_v2
- ipsec_sad_entry_add_del_v2_reply
- ipsec_sa_v2_dump
- ipsec_sa_v2_details
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I8fd6906e9684ef7ebc0688dc8b0637ae2dc8d0a2
Laszlo Kiraly [Thu, 6 Jul 2023 10:27:11 +0000 (12:27 +0200)]
build: generate debug info rpm packages for opensuse
Enabling debug info RPM creation in spec file.
Type: fix
Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
Change-Id: Id284b135ec4125905145f7902a6e1cf42ba65aa4
Laszlo Kiraly [Thu, 6 Jul 2023 09:36:42 +0000 (11:36 +0200)]
build: add missing dependences for opensuse
VPP build failed when build xdp-tool on opensuse
Add the missing libraries and headers.
Type: fix
Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
Change-Id: I8c3f28ac6e88cd61a1bf0a823ffa1d5f3097be40
Piotr Bronowski [Fri, 9 Jun 2023 15:43:05 +0000 (15:43 +0000)]
dpdk-cryptodev: introduce sw_ring to the crypto op data path
This patch introduces sw_ring to the crypto op data path implementation,
so that raw data path and crypto op data path use same mechanism of processing
async frames. Crypto op ring has been removed from the implementation.
Type: improvement
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: Id823f80a88cfa0ff40252616a36de8bb044c7f45
Ting Xu [Mon, 3 Jul 2023 08:08:33 +0000 (08:08 +0000)]
packetforge: fix has_key invalid in python3
Python Dict attribute "has_key" was removed in Python3. Use "in"
operation instead.
Type: fix
Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I7b63b0689e9970ca798921368c5616875f7d5682
Benoît Ganne [Wed, 7 Jun 2023 09:33:31 +0000 (11:33 +0200)]
docs: fix packages path in tutorial
Type: fix
Change-Id: I84bbb28490d9c66c5bf55839ab75b3aec1bf5854
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Mohammed Hawari [Fri, 9 Jun 2023 14:50:56 +0000 (16:50 +0200)]
bpf_trace_filter: plugin for BPF Trace Filtering
Change-Id: I342de0a375b783725aa2b621c1c70bc8bf646450
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
Mohammed Hawari [Fri, 26 May 2023 12:52:50 +0000 (14:52 +0200)]
vlib: introduce trace filter functions
Change-Id: I7a988fafe98599e4fcf7cdaa307a69b9d76650f0
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
Piotr Bronowski [Wed, 28 Jun 2023 08:16:38 +0000 (08:16 +0000)]
dpdk-cryptodev: sync mbuf length with corresponding vlib buffer
When vlib buffer is processed on vnet side its length is corrected by
cipher padding and icv_sz. These changes need to be reflected in
the mbuf internals.
Type: fix
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I0aa03f67f556dfc8f9a577ca1967210527221e02
Alexander Chernavin [Mon, 26 Jun 2023 15:57:57 +0000 (15:57 +0000)]
ip-neighbor: add api for getting neighbor db config
There is an API call to change neighbor database configuration (i.e.
limit on peer number, aging, and recycling). With this change, make
getting current values of these settings available via the API.
Type: improvement
Change-Id: Ie9394e086b68cf9b28ad98dea162f203f8043cbb
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Florin Coras [Wed, 28 Jun 2023 02:45:59 +0000 (19:45 -0700)]
session udp: add len check for tx dgrams
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I35391fb8c39defbe0e57a241a357c3c98e8cef54
Filip Tehlar [Thu, 15 Jun 2023 08:06:57 +0000 (10:06 +0200)]
hs-test: add nginx+quic test
Type: test
Change-Id: I15e4f2fb84cb4f34b6fea95978db000854a63e78
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Ondrej Fabry [Wed, 26 Apr 2023 21:59:55 +0000 (23:59 +0200)]
api: af_packet - Mark old message versions as deprecated
List of changed messages:
- af_packet_create
- af_packet_create_reply
- af_packet_create_v2
- af_packet_create_v2_reply
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: Ia065c3bbc2c7923de64f47417099aea1aa1216b1
Ondrej Fabry [Wed, 26 Apr 2023 22:00:46 +0000 (00:00 +0200)]
api: tapv2 - Mark old message versions as deprecated
List of changed messages:
- tap_create_v2
- tap_create_v2_reply
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I7b1b22cc4a0e31f5c19fe48e7a0f30631576f9df
Ondrej Fabry [Wed, 26 Apr 2023 22:00:13 +0000 (00:00 +0200)]
api: vxlan - Mark old message versions as deprecated
List of changed messages:
- vxlan_add_del_tunnel
- vxlan_add_del_tunnel_v2
- vxlan_add_del_tunnel_reply
- vxlan_add_del_tunnel_v2_reply
- vxlan_tunnel_dump
- vxlan_tunnel_details
This change is part of VPP API cleanup initiative.
Type: fix
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Change-Id: I0a7227e76a493731fd136f8e6310ad372fab2494
Stanislav Zaikin [Thu, 22 Jun 2023 14:46:01 +0000 (16:46 +0200)]
af_xdp: create_api_v3 without namespace keyword
Namespace keyword is reverved c++ word, so it's not possible to include
vapi header for af_xdp plugin and use it.
Type: fix
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Change-Id: I42a0e0a89ff2c407090d3c18c1bc5a5605ddf032
Stanislav Zaikin [Thu, 5 May 2022 10:04:39 +0000 (12:04 +0200)]
virtio: use fast-path for ethernet-input if possible
If a frame should be sent to 'ethernet-input' set the
ETH_INPUT_FRAME_F_SINGLE_SW_IF_IDX flag. It will force 'ethernet-input'
to use a fast-path for such frames.
This patch also aligns the behaviour with other input nodes.
Type: improvement
Change-Id: Icff0fa31204d5304a2ea0a4f4e7bc418dedbfe32
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Florin Coras [Sat, 24 Jun 2023 21:43:42 +0000 (14:43 -0700)]
udp: pass cless hdr to transport through buffer
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I7177ada23e5a69ec8e362ec98b98010c3b44b3d7
Florin Coras [Sun, 25 Jun 2023 01:57:17 +0000 (18:57 -0700)]
tcp: avoid initializing counters multiple times
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia98dae5fdde16426d5457742aff0a1b04db4d034
Maxime Peim [Mon, 20 Mar 2023 14:13:56 +0000 (14:13 +0000)]
ipsec: manually binding an SA to a worker
An SA is normally bound to the first thread using it. However, one
could want to manually bind an SA to a specific worker.
Type: improvement
Signed-off-by: Maxime Peim <mpeim@cisco.com>
Change-Id: I05cbbf753e44a01d9964ee47812c964db9bbb488
Stanislav Zaikin [Tue, 14 Mar 2023 11:32:32 +0000 (12:32 +0100)]
fib: walk over adj glean per table
Type: fix
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
Change-Id: I07f54bb643c24b1839a2d0e93acc593d13a43fed
Florin Coras [Thu, 22 Jun 2023 03:02:25 +0000 (20:02 -0700)]
tcp: add simple stats collector
Type: feature
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I435ff10fa3af15b0bed83607aca508a1c087a159
Dave Wallace [Thu, 22 Jun 2023 03:14:38 +0000 (23:14 -0400)]
tests docs: fix lcov code coverage report generation
- Updated/rebased version of https://gerrit.fd.io/r/c/vpp/+/34199
Type: test
Change-Id: I43913ecfd11a4578bdb10c4be76253fe38d57976
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Maxime Peim [Mon, 19 Jun 2023 16:19:48 +0000 (18:19 +0200)]
tcp: options support into pg
Packet-generator does not support TCP options.
Along with its support, a formatting function has been added.
Further work will be needed to update header formatting functions
to take into account TCP connection options. For now, TCP options
are taken on a per-packet basis.
Type: improvement
Change-Id: Id800887853c4941d893be353ce6d8624ed8bbc5d
Signed-off-by: Maxime Peim <mpeim@cisco.com>