[v1] net/idpf: fix datapath function configuration
Checks
Commit Message
Vector datapath is not support any advanced features for now, so disable
vector path if TX checksum offload or RX scatter is enabled.
Fixes: e528d7c74819 ("common/idpf: add AVX512 data path for split queue model")
Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
drivers/net/idpf/idpf_rxtx_vec_common.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Sent: Monday, February 27, 2023 1:37 PM
> To: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei
> <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [PATCH v1] net/idpf: fix datapath function configuration
>
> Vector datapath is not support any advanced features for now, so disable
> vector path if TX checksum offload or RX scatter is enabled.
>
> Fixes: e528d7c74819 ("common/idpf: add AVX512 data path for split queue
> model")
>
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -25,7 +25,11 @@
RTE_ETH_RX_OFFLOAD_TIMESTAMP)
#define IDPF_TX_NO_VECTOR_FLAGS ( \
RTE_ETH_TX_OFFLOAD_TCP_TSO | \
- RTE_ETH_TX_OFFLOAD_MULTI_SEGS)
+ RTE_ETH_TX_OFFLOAD_MULTI_SEGS | \
+ RTE_ETH_TX_OFFLOAD_IPV4_CKSUM | \
+ RTE_ETH_TX_OFFLOAD_SCTP_CKSUM | \
+ RTE_ETH_TX_OFFLOAD_UDP_CKSUM | \
+ RTE_ETH_TX_OFFLOAD_TCP_CKSUM)
static inline int
idpf_rx_vec_queue_default(struct idpf_rx_queue *rxq)
@@ -80,6 +84,9 @@ idpf_rx_vec_dev_check_default(struct rte_eth_dev *dev)
struct idpf_rx_queue *rxq;
int i, default_ret, splitq_ret, ret = IDPF_SCALAR_PATH;
+ if (dev->data->scattered_rx)
+ return IDPF_SCALAR_PATH;
+
for (i = 0; i < dev->data->nb_rx_queues; i++) {
rxq = dev->data->rx_queues[i];
default_ret = idpf_rx_vec_queue_default(rxq);