Re: [RFC net-next 2/2] net: dsa: tag_mtk: handle VLAN tag insertion on TX

From: DENG Qingfang
Date: Thu Aug 26 2021 - 01:30:11 EST


On Thu, Aug 26, 2021 at 03:03:49AM +0300, Vladimir Oltean wrote:
>
> You cannot just remove the old code. Only things like 8021q uppers will
> send packets with the VLAN in the hwaccel area.
>
> If you have an application that puts the VLAN in the actual AF_PACKET
> payload, like:
>
> https://github.com/vladimiroltean/tsn-scripts/blob/master/isochron/send.c
>
> then you need to handle the VLAN being in the skb payload.

I've actually tested this (only apply patch 2 without .features) and it
still worked.

The comment says the VLAN tag need to be combined with the special tag in
order to perform VLAN table lookup, so we can set its destination port
vector to all zeroes and the switch will forward it like a data frame
(TX forward offload), but as we allow multiple bridges which are either
VLAN-unaware or VLAN-aware with the same VID, there is no way to determine
the destination bridge unless we maintain some VLAN translation mapping.