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

Rong, Leyi leyi.rong at intel.com
Thu Apr 8 10:29:25 CEST 2021


> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit at intel.com>
> Sent: Thursday, April 8, 2021 12:40 AM
> To: Rong, Leyi <leyi.rong at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>; Xing,
> Beilei <beilei.xing at intel.com>
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data
> path
> 
> 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.

Hi Ferruh,

Yes, it make sense.

Hi Konstantin,

Would that be something wrong if the prepare function goes for simple Tx function although it does not support the offload feature yet? 




More information about the dev mailing list