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

Zhang, Qi Z qi.z.zhang at intel.com
Mon Apr 2 14:14:00 CEST 2018


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 

>  	}
> 
>  	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