Summary: 802.1Q-Header lost on KSZ9477-DSA ingress without bridge
Keywords: networking, dsa, microchip, 802.1q, vlan
Full description:

Hello,
we're trying to get 802.1Q-Tagged Ethernet Frames through an KSZ9477 
DSA-enabled switch without creating a bridge on the kernel side.
Following setup:
Switchport 1 <-- KSZ9477 --> eth1 (CPU-Port) <---> lan1

No bridge is configured, only the interface directly. Untagged packets are 
working without problems. The Switch uses the ksz9477-DSA-Driver with 
Tail-Tagging ("DSA_TAG_PROTO_KSZ9477").
When sending packets with 802.1Q-Header (tagged VLAN) into the Switchport, I 
see them including the 802.1Q-Header on eth1.
They also appear on lan1, but with the 802.1Q-Header missing.
When I create an VLAN-Interface over lan1 (e.g. lan1.21), nothing arrives there.
The other way around, everything works fine: Packets transmitted into lan1.21 
are appearing in 802.1Q-VLAN 21 on the Switchport 1.

I assume that is not the intended behavior.
I haven't found an obvious reason for this behavior yet, but I suspect the 
VLAN-Header gets stripped of anywhere around "dsa_switch_rcv" in net/dsa/dsa.c 
or "ksz9477_rcv" in net/dsa/tag_ksz.c.
Hints where the problem could be in detail are welcomed, I will try patches and 
looking into details.

Kernel Version: v5.4.51
Device Tree from example 
(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/dsa/ksz.txt?h=v5.4
 )

Thanks
Marvin Gaube

________________________________

Tesat-Spacecom GmbH & Co. KG
Sitz: Backnang; Registergericht: Amtsgericht Stuttgart HRA 270977
Persoenlich haftender Gesellschafter: Tesat-Spacecom Geschaeftsfuehrungs GmbH;
Sitz: Backnang; Registergericht: Amtsgericht Stuttgart HRB 271658;
Geschaeftsfuehrung: Dr. Marc Steckling, Kerstin Basche, Ralf Zimmermann

[banner]

Reply via email to