[PATCH v2 4/7] net/iavf: fix Rx path selection for scalar flex bulk alloc
Ciara Loftus
ciara.loftus at intel.com
Wed Oct 15 12:07:20 CEST 2025
The scalar bulk alloc rx burst function supports both legacy and
flexible rx descriptors. The rx path selection infrastructure introduced
in commit 91e3205d72d8 ("net/iavf: use common Rx path selection
infrastructure") cannot define a path that supports both descriptor
formats. To solve this problem, have two rx path definitions which both
point to the same rx burst function but report different descriptor
formats. This allows the rx path selection function to choose the
correct path.
Fixes: 91e3205d72d8 ("net/iavf: use common Rx path selection infrastructure")
Cc: stable at dpdk.org
Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
---
drivers/net/intel/iavf/iavf.h | 1 +
drivers/net/intel/iavf/iavf_rxtx.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/drivers/net/intel/iavf/iavf.h b/drivers/net/intel/iavf/iavf.h
index 435902fbc2..4e76162337 100644
--- a/drivers/net/intel/iavf/iavf.h
+++ b/drivers/net/intel/iavf/iavf.h
@@ -327,6 +327,7 @@ enum iavf_rx_func_type {
IAVF_RX_FLEX_RXD,
IAVF_RX_SCATTERED_FLEX_RXD,
IAVF_RX_BULK_ALLOC,
+ IAVF_RX_BULK_ALLOC_FLEX_RXD,
IAVF_RX_SSE,
IAVF_RX_SSE_SCATTERED,
IAVF_RX_SSE_FLEX_RXD,
diff --git a/drivers/net/intel/iavf/iavf_rxtx.c b/drivers/net/intel/iavf/iavf_rxtx.c
index d3bf062619..e217328823 100644
--- a/drivers/net/intel/iavf/iavf_rxtx.c
+++ b/drivers/net/intel/iavf/iavf_rxtx.c
@@ -3734,6 +3734,9 @@ static const struct ci_rx_path_info iavf_rx_path_infos[] = {
{.scattered = true, .flex_desc = true}}},
[IAVF_RX_BULK_ALLOC] = {iavf_recv_pkts_bulk_alloc, "Scalar Bulk Alloc",
{IAVF_RX_SCALAR_OFFLOADS, RTE_VECT_SIMD_DISABLED, {.bulk_alloc = true}}},
+ [IAVF_RX_BULK_ALLOC_FLEX_RXD] = {iavf_recv_pkts_bulk_alloc, "Scalar Bulk Alloc Flex",
+ {IAVF_RX_SCALAR_FLEX_OFFLOADS, RTE_VECT_SIMD_DISABLED,
+ {.flex_desc = true, .bulk_alloc = true}}},
#ifdef RTE_ARCH_X86
[IAVF_RX_SSE] = {iavf_recv_pkts_vec, "Vector SSE",
{IAVF_RX_VECTOR_OFFLOAD_OFFLOADS, RTE_VECT_SIMD_128, {.bulk_alloc = true}}},
--
2.34.1
More information about the dev
mailing list