[PATCH] net/iavf: fix AVX2 path selection

Zhichao Zeng zhichaox.zeng at intel.com
Thu Jul 6 05:20:23 CEST 2023


The AVX2 path does not support outer checksum offload, when AVX2 is
forcibly selected and outer checksum offload is configured, the basic
Tx path will be selected to ensure proper functionality.

Fixes: 5712bf9d6e14 ("net/iavf: add Tx AVX2 offload path")
Signed-off-by: Zhichao Zeng <zhichaox.zeng at intel.com>
---
 drivers/net/iavf/iavf_rxtx.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index bf7e4546a8..f7df4665d1 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -3950,6 +3950,12 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
 				dev->tx_pkt_burst = iavf_xmit_pkts_vec_avx2;
 				PMD_DRV_LOG(DEBUG, "Using AVX2 Vector Tx (port %d).",
 					    dev->data->port_id);
+			} else if (check_ret == IAVF_VECTOR_CTX_OFFLOAD_PATH) {
+				dev->tx_pkt_burst = iavf_xmit_pkts;
+				dev->tx_pkt_prepare = iavf_prep_pkts;
+				PMD_DRV_LOG(DEBUG,
+					"AVX2 does not support outer checksum offload, using Basic Tx (port %d).",
+					dev->data->port_id);
 			} else {
 				dev->tx_pkt_burst = iavf_xmit_pkts_vec_avx2_offload;
 				dev->tx_pkt_prepare = iavf_prep_pkts;
-- 
2.34.1



More information about the dev mailing list