On Wed, Mar 18, 2026 at 09:07:34AM +0100, Aleksandr Loktionov wrote: > IEEE 802.1ah (Provider Backbone Bridging) defines the Backbone Service > Tag (B-TAG) with ethertype 0x88E7. In environments that combine Provider > Backbone Bridging with virtualisation, VFs may receive or transmit frames > carrying a B-TAG and need to install matching VLAN filters on the PF. > > The existing virtchnl VLAN v2 capability handshake (via > VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS) has dedicated bitmask entries for > each supported ethertype (0x8100, 0x88A8, 0x9100) but lacked one for > 0x88E7, making it impossible for a VF driver to advertise or negotiate > B-TAG support. > > This series adds the missing capability flag and wires up the three > software-path checks in the ice PF driver that guard VLAN filter > installation: > > Patch 1 adds VIRTCHNL_VLAN_ETHERTYPE_88E7 = BIT(3) to the shared > virtchnl_vlan_support enum in include/linux/avf/virtchnl.h. > > Patch 2 updates ice's TC TPID validation, VSI VLAN filter validation, > and the bidirectional virtchnl VLAN v2 translation functions to > accept/translate ETH_P_8021AH (0x88E7). > > No hardware offload changes, no datapath modifications. > > Tested on E810 with an iavf VF requesting 0x88E7-tagged VLAN filters: > Verified that a TC flower rule matching on VLAN TPID 0x88E7 is now > accepted and offloaded by the driver without returning -EINVAL: > > tc qdisc add dev $VF clsact > tc filter add dev $VF ingress protocol 802.1Q flower \ > vlan_ethtype 0x88e7 action pass > # (previously: Error: Failed to offload TC filter - vlan_type was 0) > > Also verified VF transparent passthrough of triple-tagged frames with > 0x88E7 as middle and innermost tag using scapy on a back-to-back E810 > pair (kernel 6.19.0-rc8+, FW 4.91, ICE Triple VLAN Comms DDP 1.3.88.88). > > Aleksandr Loktionov (2): > virtchnl: add VIRTCHNL_VLAN_ETHERTYPE_88E7 support > ice: add 0x88E7 handling to SW validation paths
For the series: Reviewed-by: Simon Horman <[email protected]>
