[dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path

Ferruh Yigit ferruh.yigit at intel.com
Wed Apr 7 18:39:59 CEST 2021


On 3/31/2021 9:53 AM, Leyi Rong wrote:
> Fill up dev->tx_pkt_prepare to i40e_pkt_prepare when on vector and simple
> data path selection, as the sanity check is needed ideally.
> 
> Signed-off-by: Leyi Rong <leyi.rong at intel.com>
> ---
>   drivers/net/i40e/i40e_rxtx.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index 61cb204be2..b3d7765e3b 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -3412,7 +3412,7 @@ i40e_set_tx_function(struct rte_eth_dev *dev)
>   			PMD_INIT_LOG(DEBUG, "Simple tx finally be used.");
>   			dev->tx_pkt_burst = i40e_xmit_pkts_simple;
>   		}
> -		dev->tx_pkt_prepare = NULL;
> +		dev->tx_pkt_prepare = i40e_prep_pkts;
>   	} else {
>   		PMD_INIT_LOG(DEBUG, "Xmit tx finally be used.");
>   		dev->tx_pkt_burst = i40e_xmit_pkts;
> 

It seems prepare function is doing some sanity checks before handing packets to 
the HW.
So with this change all Tx paths calls the same Tx prepare function, if so why 
not set the function pointer outside of the if block, instead of setting it in 
both legs of the if/else? This clarifies that Tx prepare used always.


More information about the dev mailing list