On Sat, Dec 06, 2025 at 06:43:11PM +0000, Anurag Mandal wrote:
> Outer VLAN strip gets disabled when inner
> VLAN stripping is enabled/disabled after
> enabling outer VLAN stripping.
> This happens because the respective register
> is overridden by the vsi params update of
> inner VLAN stripping.
> 
> This patch fixes the issue by re-enabling
> outer VLAN stripping after modification
> of inner VLAN stripping.
> 
> Fixes: c52ff36686a4 ("net/i40e: enable QinQ stripping")
> Cc: [email protected]
> 
> Signed-off-by: Anurag Mandal <[email protected]>
> ---
>  drivers/net/intel/i40e/i40e_ethdev.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/net/intel/i40e/i40e_ethdev.c 
> b/drivers/net/intel/i40e/i40e_ethdev.c
> index b8ce79061b..c8153f3351 100644
> --- a/drivers/net/intel/i40e/i40e_ethdev.c
> +++ b/drivers/net/intel/i40e/i40e_ethdev.c
> @@ -4150,6 +4150,16 @@ i40e_vlan_offload_set(struct rte_eth_dev *dev, int 
> mask)
>                       i40e_vsi_config_vlan_stripping(vsi, TRUE);
>               else
>                       i40e_vsi_config_vlan_stripping(vsi, FALSE);
> +
> +             /* When VLAN strip is enabled/disabled
> +              * after enabling outer VLAN stripping,
> +              * outer VLAN stripping gets disabled
> +              * as the register gets overridden by
> +              * VLAN's strip vsi param update.
> +              * Hence, re-enable outer VLAN stripping.
> +              */
> +             if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_QINQ_STRIP)
> +                     i40e_vsi_config_outer_vlan_stripping(vsi, TRUE);
>       }
>  
Hi,

to help me test this patch, can you provide a set of instructions as to how
to demonstrate the issue with i40e and how to verify the fix?

Thanks,
/Bruce

Reply via email to