Hi Rosen:

> -----Original Message-----
> From: dev [mailto:[email protected]] On Behalf Of Rosen Xu
> Sent: Thursday, March 15, 2018 5:46 PM
> To: Xing, Beilei <[email protected]>
> Cc: [email protected]
> Subject: [dpdk-dev] [PATCH v2] drivers/net/i40e/i40e_ethdev_vf.c: fix
> missing promiscuous disable at device stop
> 
> In scenario of Kernel Driver runs on PF and PMD runs on VF, PMD exit doesn't
> disable promiscuous mode, this will cause vlan filter set by Kernel Driver 
> will
> not take effect.
> 
> This patch will fix it, add promiscuous disable at device stop.
> 
> Signed-off-by: Rosen Xu <[email protected]>
> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index fd003fe..f395b02 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -2051,6 +2051,8 @@ static int eth_i40evf_pci_remove(struct
> rte_pci_device *pci_dev)
> 
>       if (hw->adapter_stopped == 1)
>               return;
> +     i40evf_dev_promiscuous_disable(dev);
> +     i40evf_dev_allmulticast_disable(dev);

Device's promiscuous mode is not expected to be changed in a dev_start/dev_stop 
cycle
Application need to call rte_eth_promiscuous_disable and 
i40evf_dev_allmulticast_disable to change it explicitly.

Regards
Qi

>       i40evf_stop_queues(dev);
>       i40evf_disable_queues_intr(dev);
>       i40e_dev_clear_queues(dev);
> --
> 1.8.3.1

Reply via email to