net: dsa: vsc73xx: Implement the tag_8021q VLAN operations
authorPawel Dembicki <paweldembicki@gmail.com>
Sat, 13 Jul 2024 21:16:14 +0000 (23:16 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 15 Jul 2024 13:55:15 +0000 (06:55 -0700)
commite3386ec4ec9083522c36ab0ddfc638c90395c741
tree73d089f9265560ffbabbe85746521386397e0701
parent6c87e1a4792804efce8ab3dfdb6e9ada314ec6dd
net: dsa: vsc73xx: Implement the tag_8021q VLAN operations

This patch is a simple implementation of 802.1q tagging in the vsc73xx
driver. Currently, devices with DSA_TAG_PROTO_NONE are not functional.
The VSC73XX family doesn't provide any tag support for external Ethernet
ports.

The only option available is VLAN-based tagging, which requires constant
hardware VLAN filtering. While the VSC73XX family supports provider
bridging, it only supports QinQ without full implementation of 802.1AD.
This means it only allows the doubled 0x8100 TPID.

In the simple port mode, QinQ is enabled to preserve forwarding of
VLAN-tagged frames.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://patch.msgid.link/20240713211620.1125910-9-paweldembicki@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/Kconfig
drivers/net/dsa/vitesse-vsc73xx-core.c