[PATCH v2] net/mlx5: declare size of rte_v128u32_t

2025-05-30 Thread Andre Muezerie
When compiling with MSVC the error below is hit: drivers\net\mlx5\mlx5_tx.h(1148): error C2065: 'rte_v128u32_t': undeclared identifier Turns out that with MSVC the data type rte_v128u32_t is not used, but its size needs to be known. This patch defines a macro to store that size and replaces i

Re: [PATCH] net/mlx5: declare size of rte_v128u32_t

2025-05-30 Thread Andre Muezerie
On Sun, May 25, 2025 at 08:47:31AM +, Maayan Kashani wrote: > Hi, Andre, > Thanks for your contribution and patches, > This fix should be handled diff and not by const, > as the typedef might change in future and the const value will stay and cause > a bug. > Hi Maayan, I agree that in gene

[PATCH v4 22/25] net/ixgbe: use common Rx rearm code

2025-05-30 Thread Anatoly Burakov
The ixgbe driver has implementations of vectorized mbuf rearm code that is identical to the ones in the common code, so just use those. Since ixgbe Rx descriptors are always 16-byte wide, force using 16-byte definitions in the common headers with a define flag. While we're at it, also make sure t

RE: [PATCH v9 2/5] graph: add feature arc abstraction

2025-05-30 Thread Jerin Jacob
> -Original Message- > From: Nitin Saxena > Sent: Monday, April 21, 2025 8:47 PM > To: Jerin Jacob ; Kiran Kumar Kokkilagadda > ; Nithin Kumar Dabilpuram > ; Zhirun Yan ; Robin > Jarry ; Christophe Fontaine > Cc: dev@dpdk.org; Nitin Saxena > Subject: [PATCH v9 2/5] graph: add feature

RE: [PATCH v9 2/5] graph: add feature arc abstraction

2025-05-30 Thread Jerin Jacob
> -Original Message- > From: Nitin Saxena > Sent: Monday, April 21, 2025 8:47 PM > To: Jerin Jacob ; Kiran Kumar Kokkilagadda > ; Nithin Kumar Dabilpuram > ; Zhirun Yan ; Robin > Jarry ; Christophe Fontaine > Cc: dev@dpdk.org; Nitin Saxena > Subject: [PATCH v9 2/5] graph: add feature a

[PATCH v3 2/3] eventdev: add default software vector adapter

2025-05-30 Thread pbhagavatula
From: Pavan Nikhilesh When event device PMD doesn't support vector adapter, the library will fallback to software implementation which relies on service core to check for timeouts and vectorizes the objects on enqueue. Signed-off-by: Pavan Nikhilesh --- app/test/meson.build

[PATCH] event/cnxk: add event vector adapter support

2025-05-30 Thread pbhagavatula
From: Pavan Nikhilesh Add event vector adapter support to CN20K event device. Signed-off-by: Pavan Nikhilesh --- drivers/common/cnxk/roc_sso.c | 4 +- drivers/common/cnxk/roc_sso.h | 2 +- drivers/event/cnxk/cn20k_eventdev.c| 4 + drivers/event/cnxk/cnxk_vector_adpt

[PATCH v3 0/3] introduce event vector adapter

2025-05-30 Thread pbhagavatula
From: Pavan Nikhilesh The event vector adapter supports offloading the creation of event vectors by vectorizing objects (mbufs/ptrs/u64s). An event vector adapter has the following working model: ┌──┐ Enqueue│ Vector ├─┐ ───►│ adapter 0│ │ └──┘

[PATCH v3 3/3] app/eventdev: add vector adapter performance test

2025-05-30 Thread pbhagavatula
From: Pavan Nikhilesh Add performance test for event vector adapter. Signed-off-by: Pavan Nikhilesh --- app/test-eventdev/evt_common.h | 9 +- app/test-eventdev/evt_options.c| 14 ++ app/test-eventdev/evt_options.h| 1 + app/test-eventdev/test_perf_atq.c | 61

[PATCH v3 1/3] eventdev: introduce event vector adapter

2025-05-30 Thread pbhagavatula
From: Pavan Nikhilesh The event vector adapter offloads creation of event vectors i.e., aggregation of 8B objects (mbufs/ptrs/u64s) into a rte_event_vector from the CPU thereby reducing the overhead of allocating the vector and maintaining vector state. Applications can create a vector adapter a

Re: [PATCH v2 2/2] crypto/ipsec_mb: fix QP release in secondary

2025-05-30 Thread Moses Young
On 5/19/2025 6:46 PM, Ji, Kai wrote: Hi Yangming, How did you configure the queue pairs differently between the primary and secondary processes? The application must call rte_cryptodev_queue_pair_setup() with a unique qp_id for each process. This implies that each process should receive di

Re: Polling for patchseries in DPDK - the /series/ and /events/ endpoints

2025-05-30 Thread Patrick Robb
I went looking through recent series on patchwork and I think this is a good example of the timestamp condition: https://patchwork.dpdk.org/api/series/35145/. Looks like the original commits were made on April 18, then the newest version was submitted on May 5 but the series record retains the 4/18

RE: [PATCH v7 1/3] graph: avoid global node ID counter

2025-05-30 Thread Kiran Kumar Kokkilagadda
Hi Thomas, This series has been under review for a long time and has been acknowledged. Can we merge it for the next release? > -Original Message- > From: kirankum...@marvell.com > Sent: Monday, May 5, 2025 11:54 AM > To: Jerin Jacob ; Kiran Kumar Kokkilagadda > ; Nithin Kumar Dabilpu

[PATCH v4 06/25] net/i40e: rename 16-byte descriptor define

2025-05-30 Thread Anatoly Burakov
In preparation for having a common definition for 16-byte and 32-byte Rx descriptors, rename `RTE_LIBRTE_I40E_16BYTE_RX_DESC` to `RTE_NET_INTEL_USE_16BYTE_DESC``. Suggested-by: Bruce Richardson Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Add this commit app/test-pmd/config.c

Re: [PATCH 2/3] lib/lpm: R-V V rte_lpm_lookupx4

2025-05-30 Thread Medvedkin, Vladimir
Hi Sunyuechi, On 28/05/2025 18:00, u...@foxmail.com wrote: From: sunyuechi bpi-f3: scalar: 5.7 cycles rvv:2.4 cycles Maybe runtime detection in LPM should be added for all architectures, but this commit is only about the RVV part. Iwouldadviseyouto lookintothe FIBlibrary,ithas

[PATCH v4 16/25] net/i40e: use the common Rx queue structure

2025-05-30 Thread Anatoly Burakov
Make the i40e driver use the new common Rx queue structure. The i40e driver supports 16-byte and 32-byte Rx descriptor formats, which is shared by other drivers. To have fewer driver-specific definitions in common structures, add a header file defining shared descriptor formats, and switch between

[PATCH v4 17/25] net/ice: use the common Rx queue structure

2025-05-30 Thread Anatoly Burakov
Make the ice driver use the new common Rx queue structure. In addition to 16-byte and 32-byte descriptors supported by other drivers which we adjust ice driver to use where necessary, ice driver also supports flex descriptor format that is also shared by some of the other drivers, so add a common

[PATCH v4 05/25] net/ice: match variable name to other drivers

2025-05-30 Thread Anatoly Burakov
Currently, the ice driver has a variable that have the same semantics as in other drivers, but has a different name. Rename `rx_ring_dma` to `rx_ring_phys_addr` for consistency with other drivers. Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Make this commit separate drivers/n

[PATCH v4 25/25] net/intel: add common Tx mbuf recycle

2025-05-30 Thread Anatoly Burakov
Currently, there are duplicate implementations of Tx mbuf recycle in some drivers, specifically ixgbe and i40e. Move them into a common header. Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Use the common desc_done function to check for DD bit status - Add a desc_done impleme

[PATCH v4 24/25] net/intel: add common Rx mbuf recycle

2025-05-30 Thread Anatoly Burakov
Currently, there are duplicate implementations of Rx mbuf recycle in some drivers, specifically ixgbe and i40e. Move them into a common header. While we're at it, also support no-IOVA-in-mbuf case. Signed-off-by: Anatoly Burakov --- drivers/net/intel/common/recycle_mbufs.h | 68 +++

[PATCH v4 23/25] net/intel: support wider x86 vectors for Rx rearm

2025-05-30 Thread Anatoly Burakov
Currently, for 32-byte descriptor format, only SSE instruction set is supported. Add implementation for AVX2 and AVX512 instruction sets. Since we are using Rx descriptor definitions from common code, we can just use the generic descriptor definition, as we only ever write the first 16 bytes of it,

[PATCH v4 21/25] net/iavf: use common Rx rearm code

2025-05-30 Thread Anatoly Burakov
The iavf driver has implementations of vectorized mbuf rearm code that is identical to the ones in the common code, so just use those. While we're at it, also make sure to use common definitions for things like burst size, rearm threshold, and descriptors per loop, which is currently defined separ

[PATCH v4 20/25] net/i40e: use common Rx rearm code

2025-05-30 Thread Anatoly Burakov
The i40e driver has an implementation of vectorized mbuf rearm code that is identical to the one in the common code, so just use that. In addition, the i40e has implementations of Rx queue rearm for Neon and AltiVec instruction sets, so create a common headers for each of the instruction sets, and

[PATCH v4 19/25] net/intel: generalize vectorized Rx rearm

2025-05-30 Thread Anatoly Burakov
There is certain amount of duplication between various drivers when it comes to Rx ring rearm. This patch takes implementation from ice driver as a base because it has support for no IOVA in mbuf as well as all vector implementations, and moves them to a common file. While we're at it, also make s

[PATCH v4 18/25] net/iavf: use the common Rx queue structure

2025-05-30 Thread Anatoly Burakov
Make the iavf driver use the new common Rx queue structure. The iavf driver supports both 16-byte and 32-byte descriptors, in both regular and flex formats, so replace all usages of iavf-specific versions of these descriptors with the common ones. Signed-off-by: Anatoly Burakov --- Notes: v

[PATCH v4 15/25] net/ixgbe: create common Rx queue structure

2025-05-30 Thread Anatoly Burakov
In preparation for deduplication effort, generalize the Rx queue structure. The entire Rx queue structure is moved to common/rx.h, clarifying the comments where necessary, and separating common parts from ixgbe-specific parts. Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Separa

[PATCH v4 13/25] net/ice: clean up definitions

2025-05-30 Thread Anatoly Burakov
This commit does the following cleanups: - Mark vector-PMD related definitions with a special naming convention - Remove unused definitions - Create "descriptors per loop" for different vector implementations (regular for SSE, Neon, wide for AVX2, AVX512) Signed-off-by: Anatoly Burakov --- No

[PATCH v4 14/25] net/iavf: clean up definitions

2025-05-30 Thread Anatoly Burakov
This commit does the following cleanups: - Mark vector-PMD related definitions with a special naming convention - Create "descriptors per loop" for different vector implementations (regular for SSE, Neon, AltiVec, wide for AVX2, AVX512) - Make definitions' names match naming conventions used in

[PATCH v4 11/25] net/ixgbe: clean up definitions

2025-05-30 Thread Anatoly Burakov
This patch does the following cleanups: - Remove RTE_ prefix from internal definitions - Mark vector-PMD related definitions with a special naming convention Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Add this commit drivers/net/intel/ixgbe/ixgbe_ipsec.c | 10 ++--

[PATCH v4 12/25] net/i40e: clean up definitions

2025-05-30 Thread Anatoly Burakov
This commit does the following cleanups: - Remove RTE_ prefix from internal definitions - Mark vector-PMD related definitions with a special naming convention - Remove unused definitions - Create "descriptors per loop" for different vector implementations (regular for SSE, Neon, AltiVec, wide fo

[PATCH v4 09/25] net/ixgbe: simplify vector PMD compilation

2025-05-30 Thread Anatoly Burakov
Currently, there's a bunch of vector PMD-related stuff that's being compiled based on what architecture the code is being compiled for. Simplify it by removing necessary #ifdef's and have it so that vector PMD compilation is controlled in one place - using a compile flag from the build file. Sign

[PATCH v4 10/25] net/ixgbe: replace always-true check

2025-05-30 Thread Anatoly Burakov
There is an option `RTE_PMD_PACKET_PREFETCH` in `rte_config.h` that is always set to 1 by default, and that controls some prefetch behavior in the driver. However, there's another prefetch behavior that is controlled by `RTE_PMD_USE_PREFETCH`, which is always defined unconditionally (literally usin

[PATCH v4 07/25] net/ice: rename 16-byte descriptor define

2025-05-30 Thread Anatoly Burakov
In preparation for having a common definition for 16-byte and 32-byte Rx descriptors, rename RTE_LIBRTE_ICE_16BYTE_RX_DESC to RTE_NET_INTEL_USE_16BYTE_DESC. Suggested-by: Bruce Richardson Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Add this commit drivers/net/intel/ice/ice_d

[PATCH v4 08/25] net/iavf: rename 16-byte descriptor define

2025-05-30 Thread Anatoly Burakov
In preparation for having a common definition for 16-byte and 32-byte Rx descriptors, rename RTE_LIBRTE_IAVF_16BYTE_RX_DESC to RTE_NET_INTEL_USE_16BYTE_DESC. Suggested-by: Bruce Richardson Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Add this commit drivers/net/intel/iavf/iav

[PATCH v4 04/25] net/i40e: match variable name to other drivers

2025-05-30 Thread Anatoly Burakov
Currently, the i40e driver has a variable that has the same semantics as in other drivers, but has a different name. Rename `rx_using_sse` to `vector_rx` to match it to other drivers. Signed-off-by: Anatoly Burakov --- Notes: v3 -> v4: - Make this commit separate drivers/net/intel/i40e

[PATCH v4 03/25] net/ixgbe: match variable names to other drivers

2025-05-30 Thread Anatoly Burakov
Currently, the ixgbe driver has variables that have the same semantics as in other drivers, but have different names. Rename these variables to match ones in other drivers: - rdt_reg_addr -> qrx_tail (Rx ring tail register address) - rx_using_sse -> vector_rx (indicates if vectorized path is enabl

[PATCH v4 00/25] Intel PMD drivers Rx cleanp

2025-05-30 Thread Anatoly Burakov
There is certain amount of duplication between different ixgbe, i40e, ice, and iavf. This patchset specifically focuses on laying groundwork for deduplicating the Rx side of things - providing common queue definitions, using common Rx descriptor formats, and some low hanging fruit in terms of Rx co

[PATCH v4 02/25] net/iavf: make IPsec stats dynamically allocated

2025-05-30 Thread Anatoly Burakov
Currently, the stats structure is directly embedded in the queue structure. We're about to move iavf driver to a common Rx queue structure, so we can't have driver-specific structures that aren't pointers, inside the common queue structure. To prepare, we replace direct embedding into the queue str

[PATCH v4 01/25] net/ixgbe: remove unused field in Rx queue struct

2025-05-30 Thread Anatoly Burakov
The `rdh` (read head) field in the `ixgbe_rx_queue` struct is not used anywhere in the codebase, and can be removed. Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- drivers/net/intel/ixgbe/ixgbe_rxtx.c | 9 ++--- drivers/net/intel/ixgbe/ixgbe_rxtx.h | 1 - 2 files changed, 2 i

Re: [PATCH v9 4/5] app/graph: add custom feature nodes for ip4 output arc

2025-05-30 Thread Jerin Jacob
On Mon, Apr 21, 2025 at 11:16 PM Nitin Saxena wrote: > > - Added cmdline argument "--enable-graph-feature-arc" to call > rte_graph_feature_arc_init() before rte_graph_create() which creates > in-built arcs and feature nodes > - Added custom feature nodes in app/graph which are added to ip4 out

Re: [PATCH v9 1/5] graph: add API to override node process function

2025-05-30 Thread Jerin Jacob
On Mon, Apr 21, 2025 at 10:06 PM Nitin Saxena wrote: > > New API used by feature arc library to override node's original New internal API ... > process() func. > > Signed-off-by: Nitin Saxena Acked-by: Jerin Jacob

Re: [PATCH v2 1/3] eventdev: introduce event vector adapter

2025-05-30 Thread Jerin Jacob
On Fri, May 30, 2025 at 3:55 AM wrote: > > From: Pavan Nikhilesh > > The event vector adapter supports offloading creation of > event vectors by vectorizing objects (mbufs/ptrs/u64s). > Applications can create a vector adapter associated with > an event queue and enqueue objects to be vectorized.

Re: [PATCH v2 09/13] node: add IP6 lookup FIB node

2025-05-30 Thread Jerin Jacob
On Fri, May 9, 2025 at 12:16 PM Ankur Dwivedi wrote: > > Adds a lookup FIB node for IP6. > Adds a public function to do fib configuration from application. > > Signed-off-by: Ankur Dwivedi > --- > lib/node/ip6_lookup_fib.c | 139 > lib/node/meson.build

[PATCH v2 2/2] fix eal/freebsd: unregister alarm callback before free

2025-05-30 Thread Rui Ferreira
Unregister callback on cleanup to avoid use after free from the interrupt thread (eal_intr_thread_main). To be more defensive, set ptr to NULL if we can unregister. rte_intr_callback_unregister_sync may (optionally) use traces so the alarm cleanup must happen before eal_trace_fini to avoid access

Re: [PATCH v4] build: reduce use of AVX compiler flags

2025-05-30 Thread Bruce Richardson
On Thu, May 29, 2025 at 04:42:19PM +0100, Bruce Richardson wrote: > When doing a build for a target that already has the instruction sets > for AVX2/AVX512 enabled, skip emitting the AVX compiler flags, or the > skylake-avx512 '-march' flags, as they are unnecessary. Instead, when > the default fla

[PATCH v2 1/2] fix eal/linux: unregister alarm callback before free

2025-05-30 Thread Rui Ferreira
This was flagged by Address sanitizer as a use after free. The intr_handle ptr is shared between the main thread and the interrupt thread. The interrupt thread can dereference the ptr after free (from the alarm callback). free is called when the main thread cleans up. The interrupt thread never te

[PATCH v2 0/2] fix eal: unregister alarm callback before free

2025-05-30 Thread Rui Ferreira
This was flagged by Address sanitizer as a use after free in Linux. A pointer is freed in the main thread but used by a callback in another thread. It can be reliably reproduced in Linux with ASAN but I could not trigger the same issue in FreeBSD. I've included nearly identical patches for Linux a

[PATCH] pcapng: allow any protocol link type for the interface block

2025-05-30 Thread Schneide
From: Dylan Schneider Allow the user to specify protocol link type when creating pcapng files. This change is needed to specify the protocol type in the pcapng file, DLT_EN10MB specifies ethernet packets only. This will allow dissectors for other protocols to be used on files generated by pcapng.

[PATCH] app/compress-perf: support dictionary files

2025-05-30 Thread Sameer Vaze
compress/zlib: support PDCP checksum compress/zlib: support zlib dictionary compressdev: add PDCP checksum compressdev: support zlib dictionary Adds support to provide predefined dictionaries to zlib. Handles setting and getting of dictionaries using zlib apis. Also includes support to read dic

[PATCH 11/11] net/dpaa2: enable software taildrop for ordered queues

2025-05-30 Thread Gagandeep Singh
This patch adds support for software taildrop on ordered queues in the DPAA2 driver. It also enables congestion notification by default on traffic management (TM) queues, which is a prerequisite for software taildrop functionality. Signed-off-by: Gagandeep Singh --- drivers/net/dpaa2/dpaa2_rxtx

[PATCH 10/11] net/dpaa2: setup the speed cap based on the actual MAC

2025-05-30 Thread Gagandeep Singh
From: Ioana Ciornei Previously, the speed_capa field from struct rte_eth_dev_info was populated with all possible speeds that the MACs on the system could sustain. What this meant is that the bitmap of speed capability did not reflect what the MAC could do in the current circumstance. Fix this b

[PATCH 09/11] net/dpaa2: retrieve DPNI API version at init time

2025-05-30 Thread Gagandeep Singh
From: Ioana Ciornei The list of availabla DPNI APIs depends on the DPNI API version available on a system. Retrieve the API version in the init stage and store it in the private structure so that it can be used at a later stage. Signed-off-by: Ioana Ciornei --- .mailmap

[PATCH 07/11] net/dpaa2: support dpmac Tx stats

2025-05-30 Thread Gagandeep Singh
From: Apeksha Gupta Added all mac counters including Tx stats buckets for packet sizes. Signed-off-by: Apeksha Gupta Signed-off-by: Vanshika Shukla --- drivers/net/dpaa2/mc/fsl_dpmac.h | 50 ++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/driver

[PATCH 08/11] net/dpaa2: support dpmac Tx stats in xstats

2025-05-30 Thread Gagandeep Singh
From: Apeksha Gupta Added all mac counters including Tx stats buckets for packet sizes in xstats. Signed-off-by: Apeksha Gupta Signed-off-by: Vanshika Shukla --- drivers/net/dpaa2/dpaa2_ethdev.c | 20 +++- drivers/net/dpaa2/dpaa2_ethdev.h | 4 ++-- 2 files changed, 21 inserti

[PATCH 05/11] net/dpaa2: add dpmac MC header file

2025-05-30 Thread Gagandeep Singh
From: Apeksha Gupta This patch upgrades the MC firmware release API compatibility to 10.39.0. Added mc/fsl_dpmac.h file. Signed-off-by: Apeksha Gupta --- drivers/net/dpaa2/mc/fsl_dpmac.h | 490 +++ 1 file changed, 490 insertions(+) create mode 100644 drivers/net/dp

[PATCH 06/11] net/dpaa2: support dpmac counters in stats

2025-05-30 Thread Gagandeep Singh
From: Apeksha Gupta Add support of dpmac counters in xstats. Signed-off-by: Apeksha Gupta Signed-off-by: Vanshika Shukla --- drivers/net/dpaa2/dpaa2_ethdev.c| 118 ++-- drivers/net/dpaa2/dpaa2_ethdev.h| 12 +++ drivers/net/dpaa2/mc/dpni.c | 29 ++-

[PATCH 04/11] mempool/dpaa2: use unified VA to IOVA conversion

2025-05-30 Thread Gagandeep Singh
From: Jun Yang Use DPAA2_VADDR_TO_IOVA to convert va to iova for both VA and PA modes. Signed-off-by: Jun Yang --- drivers/mempool/dpaa2/dpaa2_hw_mempool.c | 220 +++ 1 file changed, 141 insertions(+), 79 deletions(-) diff --git a/drivers/mempool/dpaa2/dpaa2_hw_mempool.c

[PATCH 03/11] bus/fslmc: add DPBP APIs for setting depletion thresholds

2025-05-30 Thread Gagandeep Singh
From: Vanshika Shukla This patch adds DPBP APIs for setting and getting the depletion/surplus thresholds for controlling pause frame generation. By default, depletion_entry is set as 128 by MC. This API would help user configure the buffer in depletion state as per requirement. Signed-off-by: V

[PATCH 02/11] net/dpaa2: fix shaper rate

2025-05-30 Thread Gagandeep Singh
This patch fixes the shaper rate by configuring the user given rate in bytes. Earlier driver was considering the user given rate value in bits. Fixes: ac624068ee25 ("net/dpaa2: support traffic management") Cc: sta...@dpdk.org Signed-off-by: Gagandeep Singh --- drivers/net/dpaa2/dpaa2_tm.c | 8 +

[PATCH 00/11] NXP DPAA2 driver enhancements and fixes

2025-05-30 Thread Gagandeep Singh
This patch series introduces enhancements and fixes to the NXP DPAA2 Ethernet driver. It includes support for - software taildrop on ordered queues. - setup speed capabilities. - DPAA2 resource version. - MAC level statistics. - improve PA-VA conversion. - add buffer pool depletion state con

[PATCH 01/11] net/dpaa2: fix issue of extract buffer preparation

2025-05-30 Thread Gagandeep Singh
From: Jun Yang 1) The max size of extract buffer should be size of "struct dpni_ext_set_rx_tc_dist"(488), which is greater than 256. 2) dpkg_prepare_key_cfg is responsible to clear extract buffer before preparing. Fixes: 25d0ae624245 ("net/dpaa2: check IOVA before sending MC command") Cc: