[dpdk-dev] [PATCH] net/i40e/vf: reset scatter_rx flag when configuration complies

Zhang, Helin helin.zhang at intel.com
Fri Apr 6 10:46:04 CEST 2018



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Zhang, Qi Z
> Sent: Monday, April 2, 2018 8:14 PM
> To: eduser25 at gmail.com
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/i40e/vf: reset scatter_rx flag when
> configuration complies
> 
> Hi Serra:
> 
> > -----Original Message-----
> > From: eduser25 at gmail.com [mailto:eduser25 at gmail.com]
> > Sent: Friday, March 30, 2018 4:13 AM
> > To: Zhang, Qi Z <qi.z.zhang at intel.com>
> > Cc: dev at dpdk.org; Eduard Serra <eduser25 at gmail.com>
> > Subject: [PATCH] net/i40e/vf: reset scatter_rx flag when configuration
> > complies
> >
> > From: Eduard Serra <eduser25 at gmail.com>
> >
> > Scatter RX (scattered_rx) flag is currently not being resetted when
> > new configuration is suplied to reconfigure a port, rendering the rx
> > callback logic to
> 
> s/suplied/supplied
> 
> > always fall through the scatter branch.
> >
> > Signed-off-by: Eduard Serra <eduser25 at gmail.com>
> > ---
> >  drivers/net/i40e/i40e_ethdev_vf.c | 2 ++
> >  drivers/net/i40e/i40e_rxtx.c      | 2 ++
> >  2 files changed, 4 insertions(+)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> > b/drivers/net/i40e/i40e_ethdev_vf.c
> > index 750d849..a072154 100644
> > --- a/drivers/net/i40e/i40e_ethdev_vf.c
> > +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> > @@ -1750,6 +1750,8 @@ i40evf_rxq_init(struct rte_eth_dev *dev, struct
> > i40e_rx_queue *rxq)
> >  	if (dev_data->dev_conf.rxmode.enable_scatter ||
> >  	    (rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size) {
> >  		dev_data->scattered_rx = 1;
> > +	} else {
> > +		dev_data->scattered_rx = 0;
> 
> Scattered_rx should not be reset if any queue already required You should
> reset it before the queue loop
Does it mean a NACK?

/Helin

> 
> >  	}
> >
> >  	return 0;
> > diff --git a/drivers/net/i40e/i40e_rxtx.c
> > b/drivers/net/i40e/i40e_rxtx.c index
> > 1217e5a..8698747 100644
> > --- a/drivers/net/i40e/i40e_rxtx.c
> > +++ b/drivers/net/i40e/i40e_rxtx.c
> > @@ -2561,6 +2561,8 @@ i40e_rx_queue_init(struct i40e_rx_queue *rxq)
> >  	/* Check if scattered RX needs to be used. */
> >  	if ((rxq->max_pkt_len + 2 * I40E_VLAN_TAG_SIZE) > buf_size) {
> >  		dev_data->scattered_rx = 1;
> > +	} else {
> > +		dev_data->scattered_rx = 0;
> 
> Same as above.
> 
> Regards
> Qi
> 
> >  	}
> >
> >  	/* Init the RX tail regieter. */
> > --
> > 2.7.4



More information about the dev mailing list