[PATCH net v2 2/2] net: stmmac: Consider Tx VLAN offload tag length for maxSDU

Jakub Kicinski kuba at kernel.org
Thu Sep 25 18:52:30 PDT 2025


On Thu, 25 Sep 2025 16:33:21 +0530 G Thomas, Rohan wrote:
> While testing 802.1AD with XGMAC hardware using a simple ping test, I
> observed an unexpected behavior: the hardware appears to insert an
> additional 802.1Q CTAG with VLAN ID 0. Despite this, the ping test
> functions correctly.
> 
> Here’s a snapshot from the pcap captured at the remote end. Outer VLAN
> tag used is 100 and inner VLAN tag used is 200.
> 
> Frame 1: 110 bytes on wire (880 bits), 110 bytes captured (880 bits)
> Ethernet II, Src: <src> (<src>), Dst: <dst> (<dst>)
> IEEE 802.1ad, ID: 100
> 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 0(unexpected)
> 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 200
> Internet Protocol Version 4, Src: 192.168.4.10, Dst: 192.168.4.11
> Internet Control Message Protocol

And the packet arrives at the driver with only the .1Q ID 200 pushed?

Indeed, that looks like a problem with the driver+HW interaction.
IDK what the right terminology is but IIRC VLAN 0 is not a real VLAN,
just an ID reserved for frames that don't have a VLAN ID but want to
use the priority field. Which explains why it "works", receiver just
ignores that tag. But it's definitely not correct because switches
on the network will no see the real C-TAG after the S-TAG is stripped.



More information about the linux-arm-kernel mailing list