• Brett Creeley's avatar
    ice: Advertise 802.1ad VLAN filtering and offloads for PF netdev · 1babaf77
    Brett Creeley authored
    In order for the driver to support 802.1ad VLAN filtering and offloads,
    it needs to advertise those VLAN features and also support modifying
    those VLAN features, so make the necessary changes to
    ice_set_netdev_features(). By default, enable CTAG insertion/stripping
    and CTAG filtering for both Single and Double VLAN Modes (SVM/DVM).
    Also, in DVM, enable STAG filtering by default. This is done by
    setting the feature bits in netdev->features. Also, in DVM, support
    toggling of STAG insertion/stripping, but don't enable them by
    default. This is done by setting the feature bits in
    netdev->hw_features.
    
    Since 802.1ad VLAN filtering and offloads are only supported in DVM, make
    sure they are not enabled by default and that they cannot be enabled
    during runtime, when the device is in SVM.
    
    Add an implementation for the ndo_fix_features() callback. This is
    needed since the hardware cannot support multiple VLAN ethertypes for
    VLAN insertion/stripping simultaneously and all supported VLAN filtering
    must either be enabled or disabled together.
    
    Disable inner VLAN stripping by default when DVM is enabled. If a VSI
    supports stripping the inner VLAN in DVM, then it will have to configure
    that during runtime. For example if a VF is configured in a port VLAN
    while DVM is enabled it will be allowed to offload inner VLANs.
    Signed-off-by: default avatarBrett Creeley <brett.creeley@intel.com>
    Tested-by: default avatarGurucharan G <gurucharanx.g@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    1babaf77
ice_main.c 236 KB