Hi Serra:

> -----Original Message-----
> From: eduse...@gmail.com [mailto:eduse...@gmail.com]
> Sent: Friday, March 30, 2018 4:13 AM
> To: Zhang, Qi Z <qi.z.zh...@intel.com>
> Cc: dev@dpdk.org; Eduard Serra <eduse...@gmail.com>
> Subject: [PATCH] net/i40e/vf: reset scatter_rx flag when configuration
> complies
> 
> From: Eduard Serra <eduse...@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 <eduse...@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

Reply via email to