Hi Joseph,
On Fri, Aug 21, 2026 at 05:09:55PM +0000, Ovidiu Panait wrote:
quoted
stmmac_vlan_update() turns on double/S-VLAN processing whenever an
802.1ad VLAN is registered, without checking whether the MAC actually
supports double VLAN processing. That capability is reported in
dma_cap.dvlan.
This is not true. S-VLAN is never reported by the dma_cap.dvlan
feature flag. Double VLAN tagging and S-Tag VLAN features are fully
independent.
Right, thanks for the correction.
The EDVLP bit, which is currently set unconditionally when an 802.1ad
VLAN is registered, seems to be the only one that truly depends on the
dvlan feature flag. Taking a closer look, setting EDVLP shouldn't be
needed at all, as the driver doesn't implement any feature it gates
(inner VLAN stripping/filtering). I guess removing it should be part
of a follow up cleanup series.
For now, I will just drop this patch in v3.
Thanks,
Ovidiu
-Joseph
quoted
This was found while investigating a separate bug in the double VLAN RX
stripping path. The outer 802.1ad tags were unexpectedly stripped by the
MAC (because the ESVL bit was set).
Check dma_cap.dvlan before enabling EDVLP/ESVL/DOVLTC bits, so that
double
quoted
VLAN processing is enabled only on supported hardware. Also, advertise
NETIF_F_HW_VLAN_STAG_RX and NETIF_F_HW_VLAN_STAG_FILTER only when
dma_cap.dvlan is set.