On 13/12/2024 14:33, Bruce Richardson wrote:
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;
Acked-by: Vladimir Medvedkin <vladimir.medved...@intel.com>

--
Regards,
Vladimir

Reply via email to