[PATCH] net/iavf: remove reset of Tx prepare function ptr

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Mon Jan 20 16:01:47 CET 2025


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: stable at dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson at 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.medvedkin at intel.com>

-- 
Regards,
Vladimir



More information about the dev mailing list