net/iavf: fix avx2 path selection
Checks
Commit Message
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@intel.com>
---
drivers/net/iavf/iavf_rxtx.c | 6 ++++++
1 file changed, 6 insertions(+)
@@ -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;