Re: [PATCH net-next 1/2] net: hns3: adds support for dynamic VLAN mode

From: Jakub Kicinski
Date: Wed May 20 2020 - 17:06:21 EST


On Wed, 20 May 2020 09:20:12 +0800 Huazhong Tan wrote:
> From: GuoJia Liao <liaoguojia@xxxxxxxxxx>
>
> There is a scenario which needs vNICs enable the VLAN filter
> in access port, while disable the VLAN filter in trunk port.
> Access port and trunk port can switch according to the user's
> configuration.
>
> This patch adds support for the dynamic VLAN mode. then the
> HNS3 driver can support two VLAN modes: default VLAN mode and
> dynamic VLAN mode. User can switch the mode through the
> configuration file.

What configuration file? Sounds like you're reimplementing trusted
VFs (ndo_set_vf_trust).

> In default VLAN mode, port based VLAN filter and VF VLAN
> filter should always be enabled.
>
> In dynamic VLAN mode, port based VLAN filter is disabled, and
> VF VLAN filter is disabled defaultly, and should be enabled
> when there is a non-zero VLAN ID. In addition, VF VLAN filter
> is enabled if PVID is enabled for vNIC.
>
> When enable promisc, VLAN filter should be disabled. When disable
> promisc, VLAN filter's status depends on the value of
> 'vport->vf_vlan_en', which is used to record the VF VLAN filter
> status.
>
> In default VLAN mode, 'vport->vf_vlan_en' always be 'true', so
> VF VLAN filter will set to be enabled after disabling promisc.
>
> In dynamic VLAN mode, 'vport->vf_vlan_en' lies on whether there
> is a non-zero VLAN ID.
>
> Signed-off-by: GuoJia Liao <liaoguojia@xxxxxxxxxx>
> Signed-off-by: Huazhong Tan <tanhuazhong@xxxxxxxxxx>