The iavf driver only contains a single Tx prepare function, so when selecting the Tx path, there is no need to reset and reassign the function pointer in the ethdev structure. This fixes an issue where the pointer was reset to NULL, but never assigned back later on function selection.
Fixes: 5712bf9d6e14 ("net/iavf: add Tx AVX2 offload path") Fixes: 08eb6a9cc2e1 ("net/iavf: fix Tx L4 checksum") Fixes: 4f8259df563a ("net/iavf: enable Tx outer checksum offload on AVX512") Cc: sta...@dpdk.org Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- drivers/net/iavf/iavf_rxtx.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index 6a093c6746..98a1d3f69d 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -4173,7 +4173,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev) if (!use_sse && !use_avx2 && !use_avx512) goto normal; - dev->tx_pkt_prepare = NULL; if (use_sse) { PMD_DRV_LOG(DEBUG, "Using Vector Tx (port %d).", dev->data->port_id); @@ -4190,7 +4189,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev) goto normal; } else { tx_burst_type = IAVF_TX_AVX2_OFFLOAD; - dev->tx_pkt_prepare = iavf_prep_pkts; PMD_DRV_LOG(DEBUG, "Using AVX2 OFFLOAD Vector Tx (port %d).", dev->data->port_id); } @@ -4203,17 +4201,14 @@ iavf_set_tx_function(struct rte_eth_dev *dev) dev->data->port_id); } else if (check_ret == IAVF_VECTOR_OFFLOAD_PATH) { tx_burst_type = IAVF_TX_AVX512_OFFLOAD; - dev->tx_pkt_prepare = iavf_prep_pkts; PMD_DRV_LOG(DEBUG, "Using AVX512 OFFLOAD Vector Tx (port %d).", dev->data->port_id); } else if (check_ret == IAVF_VECTOR_CTX_PATH) { tx_burst_type = IAVF_TX_AVX512_CTX; - dev->tx_pkt_prepare = iavf_prep_pkts; PMD_DRV_LOG(DEBUG, "Using AVX512 CONTEXT Vector Tx (port %d).", dev->data->port_id); } else { tx_burst_type = IAVF_TX_AVX512_CTX_OFFLOAD; - dev->tx_pkt_prepare = iavf_prep_pkts; PMD_DRV_LOG(DEBUG, "Using AVX512 CONTEXT OFFLOAD Vector Tx (port %d).", dev->data->port_id); } @@ -4251,7 +4246,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev) PMD_DRV_LOG(DEBUG, "Using Basic Tx callback (port=%d).", dev->data->port_id); tx_burst_type = IAVF_TX_DEFAULT; - dev->tx_pkt_prepare = iavf_prep_pkts; if (no_poll_on_link_down) { adapter->tx_burst_type = tx_burst_type; -- 2.43.0