> 
> Ensure the correct virtchnl op is called for disabling vlan stripping by 
> checking
> if the device supports either v1 or v2 vlan capability and choosing the op
> accordingly.
> 
> Bugzilla ID:1735
> Fixes: 3bfad066f9b4 ("net/iavf: fix VLAN strip setting after enabling filter")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Amiya Ranjan Mohakud <amiyaranjan.moha...@gmail.com>

Thanks. The CI is flagging an issue with the commit message format but maybe 
that can be fixed when it is applied.

Acked-by: Ciara Loftus <ciara.lof...@intel.com>

> ---
>  drivers/net/intel/iavf/iavf_ethdev.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/intel/iavf/iavf_ethdev.c
> b/drivers/net/intel/iavf/iavf_ethdev.c
> index c33fdd9069..335a8126c4 100644
> --- a/drivers/net/intel/iavf/iavf_ethdev.c
> +++ b/drivers/net/intel/iavf/iavf_ethdev.c
> @@ -1388,6 +1388,7 @@ iavf_disable_vlan_strip_ex(struct rte_eth_dev
> *dev, int on)
>        */
>       struct iavf_adapter *adapter =
>               IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
> +     struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
>       struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
>       int err;
> 
> @@ -1395,7 +1396,10 @@ iavf_disable_vlan_strip_ex(struct rte_eth_dev
> *dev, int on)
>           adapter->hw.mac.type == IAVF_MAC_VF ||
>           adapter->hw.mac.type == IAVF_MAC_X722_VF) {
>               if (on && !(dev_conf->rxmode.offloads &
> RTE_ETH_RX_OFFLOAD_VLAN_STRIP)) {
> -                     err = iavf_disable_vlan_strip(adapter);
> +                     if (vf->vf_res->vf_cap_flags &
> VIRTCHNL_VF_OFFLOAD_VLAN_V2)
> +                             err = iavf_config_vlan_strip_v2(adapter, false);
> +                     else
> +                             err = iavf_disable_vlan_strip(adapter);
>                       if (err)
>                               return -EIO;
>               }
> --
> 2.39.5 (Apple Git-154)

Reply via email to