linux/net/dsa
Joris Vaisvila 44204fd425 net: dsa: initial MT7628 tagging driver
Add support for the MT7628 embedded switch's tag.

The MT7628 tag is merged with the VLAN TPID field when a VLAN is
appended by the switch hardware. It is not installed if the VLAN tag is
already there on ingress. Due to this hardware quirk the tag cannot be
trusted for port 0 if we don't know that the VLAN was added by the
hardware. As a workaround for this the switch is configured to always
append the port PVID tag even if the incoming packet is already tagged.
The tagging driver can then trust that the tag is always accurate and
the whole VLAN tag can be removed on ingress as it's only metadata for
the tagger.

On egress the MT7628 tag allows precise TX, but the correct VLAN tag
from tag_8021q is still appended or the switch will not forward the
packet.

Signed-off-by: Joris Vaisvila <joey@tinyisr.com>
Link: https://patch.msgid.link/20260813190241.789323-4-joey@tinyisr.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-08-18 15:50:13 +02:00
..
conduit.c net: dsa: remove redundant netdev_lock_ops() from conduit ethtool ops 2026-04-16 19:10:48 -07:00
conduit.h net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
devlink.c devlink: pass extack through to devlink_param::get() 2025-11-20 19:01:22 -08:00
devlink.h net: dsa: move rest of devlink setup/teardown to devlink.c 2022-11-22 20:41:47 -08:00
dsa.c net: dsa: drop explicit NULL comparisons 2026-08-14 13:57:27 -07:00
dsa.h net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
Kconfig net: dsa: initial MT7628 tagging driver 2026-08-18 15:50:13 +02:00
Makefile net: dsa: initial MT7628 tagging driver 2026-08-18 15:50:13 +02:00
netlink.c net: dsa: Rename IFLA_DSA_MASTER to IFLA_DSA_CONDUIT 2023-10-24 13:08:14 -07:00
netlink.h net: dsa: kill off dsa_priv.h 2022-11-22 20:41:54 -08:00
port.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
port.h net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
stubs.c net: dsa: replace NETDEV_PRE_CHANGE_HWTSTAMP notifier with a stub 2023-04-09 15:35:49 +01:00
switch.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
switch.h net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
tag_8021q.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
tag_8021q.h net: dsa: tag_sja1105: refactor skb->dev assignment to dsa_tag_8021q_find_user() 2024-07-15 06:55:15 -07:00
tag_ar9331.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_brcm.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_dsa.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_gswip.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_hellcreek.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_ksz.c net: dsa: microchip: add KSZ8463 tail tag handling 2026-07-31 16:29:56 -07:00
tag_lan9303.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_mt7628.c net: dsa: initial MT7628 tagging driver 2026-08-18 15:50:13 +02:00
tag_mtk.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_mxl-gsw1xx.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_mxl862xx.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_netc.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_none.c net: fill in MODULE_DESCRIPTION()s for DSA tags 2024-01-05 08:06:19 -08:00
tag_ocelot_8021q.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_ocelot.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_qca.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_rtl4_a.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_rtl8_4.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_rzn1_a5psw.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_sja1105.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_trailer.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_vsc73xx_8021q.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_xrs700x.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag_yt921x.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag.c net: dsa: Fix skb ownership in taggers 2026-06-27 15:44:12 -07:00
tag.h net: dsa: introduce the dsa_xmit_port_mask() tagging protocol helper 2025-11-28 20:03:39 -08:00
trace.c net: dsa: add trace points for FDB/MDB operations 2023-04-12 08:36:07 +01:00
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
user.c net: dsa: drop explicit NULL comparisons 2026-08-14 13:57:27 -07:00
user.h net: dsa: update the unicast MAC address when changing conduit 2024-06-10 13:48:06 +01:00