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
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
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
> -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
> -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
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
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
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│ │
└──┘
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
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
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
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
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
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
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
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
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
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
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
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 +++
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,
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
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
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
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
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
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
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
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 ++--
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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.
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
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
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
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
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
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
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
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 ++-
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
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
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 +
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
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:
61 matches
Mail list logo