linux/net/dsa
Wei Fang 0850005c26 net: dsa: add NETC switch tag support
The NXP NETC switch tag is a proprietary header added to frames after the
source MAC address. The switch tag has 3 types, and each type has 1 ~ 4
subtypes, the details are as follows.

Forward NXP switch tag (Type=0): Represents forwarded frames.
  - SubType = 0 - Normal frame processing.

To_Port NXP switch tag (Type=1): Represents frames that are to be sent
to a specific switch port.
  - SubType = 0. No request to perform timestamping.
  - SubType = 1. Request to perform one-step timestamping.
  - SubType = 2. Request to perform two-step timestamping.
  - SubType = 3. Request to perform both one-step timestamping and
    two-step timestamping.

To_Host NXP switch tag (Type=2): Represents frames redirected or copied
to the switch management port.
  - SubType = 0. Received frames redirected or copied to the switch
    management port.
  - SubType = 1. Received frames redirected or copied to the switch
    management port with captured timestamp at the switch port where
    the frame was received.
  - SubType = 2. Transmit timestamp response (two-step timestamping).

In addition, the length of different type switch tag is different, the
minimum length is 6 bytes, the maximum length is 14 bytes. Currently,
Forward tag, SubType 0 of To_Port tag and Subtype 0 of To_Host tag are
supported. More tags will be supported in the future.

Signed-off-by: Wei Fang <wei.fang@nxp.com>
Link: https://patch.msgid.link/20260518082506.1318236-10-wei.fang@nxp.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-05-21 13:04:42 +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
devlink.c devlink: pass extack through to devlink_param::get() 2025-11-20 19:01:22 -08:00
devlink.h
dsa.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dsa.h
Kconfig net: dsa: add NETC switch tag support 2026-05-21 13:04:42 +02:00
Makefile net: dsa: add NETC switch tag support 2026-05-21 13:04:42 +02:00
netlink.c
netlink.h
port.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
port.h
stubs.c
switch.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
switch.h
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
tag_ar9331.c
tag_brcm.c net: dsa: tag_brcm: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:39 -08:00
tag_dsa.c
tag_gswip.c net: dsa: tag_gswip: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:39 -08:00
tag_hellcreek.c net: dsa: tag_hellcreek: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:39 -08:00
tag_ksz.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
tag_lan9303.c
tag_mtk.c net: dsa: tag_mtk: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:40 -08:00
tag_mxl-gsw1xx.c net: dsa: tag_mxl_gsw1xx: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:40 -08:00
tag_mxl862xx.c dsa: tag_mxl862xx: set dsa_default_offload_fwd_mark() 2026-04-06 18:30:33 -07:00
tag_netc.c net: dsa: add NETC switch tag support 2026-05-21 13:04:42 +02:00
tag_none.c
tag_ocelot_8021q.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
tag_ocelot.c net: dsa: tag_ocelot: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:40 -08:00
tag_qca.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
tag_rtl4_a.c net: dsa: tag_rtl4_a: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:40 -08:00
tag_rtl8_4.c net: dsa: tag_rtl8_4: set KEEP flag 2026-04-12 09:03:55 -07:00
tag_rzn1_a5psw.c net: dsa: tag_rzn1_a5psw: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:41 -08:00
tag_sja1105.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
tag_trailer.c net: dsa: tag_trailer: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:41 -08:00
tag_vsc73xx_8021q.c
tag_xrs700x.c net: dsa: tag_xrs700x: use the dsa_xmit_port_mask() helper 2025-11-28 20:03:41 -08:00
tag_yt921x.c net: dsa: tag_yt921x: add priority support 2026-02-03 15:09:31 +01:00
tag.c
tag.h net: dsa: introduce the dsa_xmit_port_mask() tagging protocol helper 2025-11-28 20:03:39 -08:00
trace.c
trace.h
user.c net: dsa: pass extack to dsa_switch_ops :: port_policer_add() 2026-05-02 10:38:57 -07:00
user.h