[dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path
Ananyev, Konstantin
konstantin.ananyev at intel.com
Thu Apr 1 15:19:50 CEST 2021
>
> On Wed, Mar 31, 2021 at 11:17 AM Leyi Rong <leyi.rong at intel.com> 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;
>
> I find this a bit surprising to set this op at two different locations.
> Why not simply leave the value set in i40e_ethdev.c?
>
Actually I wonder should we set dev->tx_pkt_prepare to point to i40e_prep_pkts()
for simple TX path?
As I remember, simple TX path doesn't support neither multi-segment packets,
neither TX offloads.
While i40e_prep_pkts() assumes that selected tx_burst() supports all that.
If you don't want to keep dev->tx_pkt_prepare==NULL for simple TX path,
why not create a new one: i40e_simple_prep_pkts() or so?
Konstantin
More information about the dev
mailing list