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]