mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-23 05:07:37 -04:00
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>
49 lines
1.5 KiB
Makefile
49 lines
1.5 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
# the stubs are built-in whenever DSA is built-in or module
|
|
ifdef CONFIG_NET_DSA
|
|
obj-y := stubs.o
|
|
endif
|
|
|
|
# the core
|
|
obj-$(CONFIG_NET_DSA) += dsa_core.o
|
|
dsa_core-y += \
|
|
conduit.o \
|
|
devlink.o \
|
|
dsa.o \
|
|
netlink.o \
|
|
port.o \
|
|
switch.o \
|
|
tag.o \
|
|
tag_8021q.o \
|
|
trace.o \
|
|
user.o
|
|
|
|
# tagging formats
|
|
obj-$(CONFIG_NET_DSA_TAG_AR9331) += tag_ar9331.o
|
|
obj-$(CONFIG_NET_DSA_TAG_BRCM_COMMON) += tag_brcm.o
|
|
obj-$(CONFIG_NET_DSA_TAG_DSA_COMMON) += tag_dsa.o
|
|
obj-$(CONFIG_NET_DSA_TAG_GSWIP) += tag_gswip.o
|
|
obj-$(CONFIG_NET_DSA_TAG_HELLCREEK) += tag_hellcreek.o
|
|
obj-$(CONFIG_NET_DSA_TAG_KSZ) += tag_ksz.o
|
|
obj-$(CONFIG_NET_DSA_TAG_LAN9303) += tag_lan9303.o
|
|
obj-$(CONFIG_NET_DSA_TAG_MTK) += tag_mtk.o
|
|
obj-$(CONFIG_NET_DSA_TAG_MXL_862XX) += tag_mxl862xx.o
|
|
obj-$(CONFIG_NET_DSA_TAG_MXL_GSW1XX) += tag_mxl-gsw1xx.o
|
|
obj-$(CONFIG_NET_DSA_TAG_NETC) += tag_netc.o
|
|
obj-$(CONFIG_NET_DSA_TAG_NONE) += tag_none.o
|
|
obj-$(CONFIG_NET_DSA_TAG_OCELOT) += tag_ocelot.o
|
|
obj-$(CONFIG_NET_DSA_TAG_OCELOT_8021Q) += tag_ocelot_8021q.o
|
|
obj-$(CONFIG_NET_DSA_TAG_QCA) += tag_qca.o
|
|
obj-$(CONFIG_NET_DSA_TAG_RTL4_A) += tag_rtl4_a.o
|
|
obj-$(CONFIG_NET_DSA_TAG_RTL8_4) += tag_rtl8_4.o
|
|
obj-$(CONFIG_NET_DSA_TAG_RZN1_A5PSW) += tag_rzn1_a5psw.o
|
|
obj-$(CONFIG_NET_DSA_TAG_SJA1105) += tag_sja1105.o
|
|
obj-$(CONFIG_NET_DSA_TAG_TRAILER) += tag_trailer.o
|
|
obj-$(CONFIG_NET_DSA_TAG_VSC73XX_8021Q) += tag_vsc73xx_8021q.o
|
|
obj-$(CONFIG_NET_DSA_TAG_XRS700X) += tag_xrs700x.o
|
|
obj-$(CONFIG_NET_DSA_TAG_YT921X) += tag_yt921x.o
|
|
|
|
# for tracing framework to find trace.h
|
|
CFLAGS_trace.o := -I$(src)
|