net: xdp: pull ethernet header off packet after computing skb->protocol
[linux-2.6-block.git] / net / dsa / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
b3422a31
BH
2config HAVE_NET_DSA
3 def_bool y
3a89eaa6 4 depends on INET && NETDEVICES && !S390
b3422a31
BH
5
6# Drivers must select NET_DSA and the appropriate tagging format
7
0b9f9dfb 8menuconfig NET_DSA
c6f15070 9 tristate "Distributed Switch Architecture"
f4b6bcc7 10 depends on HAVE_NET_DSA
ee0ab7a2 11 depends on BRIDGE || BRIDGE=n
e131a563 12 select GRO_CELLS
3a89eaa6 13 select NET_SWITCHDEV
11d8f3dd 14 select PHYLINK
f6b19b35 15 select NET_DEVLINK
a7f7f624 16 help
c6f15070
MO
17 Say Y if you want to enable support for the hardware switches supported
18 by the Distributed Switch Architecture.
91da11f8 19
b3422a31 20if NET_DSA
91da11f8 21
f9bbe447
VO
22# tagging formats
23config NET_DSA_TAG_8021Q
129bd7ca 24 tristate
f9bbe447
VO
25 select VLAN_8021Q
26 help
27 Unlike the other tagging protocols, the 802.1Q config option simply
28 provides helpers for other tagging implementations that might rely on
29 VLAN in one way or another. It is not a complete solution.
30
31 Drivers which use these helpers should select this as dependency.
32
48fda74f
OR
33config NET_DSA_TAG_AR9331
34 tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
35 help
36 Say Y or M if you want to enable support for tagging frames for
37 the Atheros AR9331 SoC with built-in switch.
38
0b9f9dfb
AL
39config NET_DSA_TAG_BRCM_COMMON
40 tristate
41 default n
42
5037d532 43config NET_DSA_TAG_BRCM
0b9f9dfb
AL
44 tristate "Tag driver for Broadcom switches using in-frame headers"
45 select NET_DSA_TAG_BRCM_COMMON
46 help
47 Say Y if you want to enable support for tagging frames for the
48 Broadcom switches which place the tag after the MAC source address.
49
5037d532 50
b74b70c4 51config NET_DSA_TAG_BRCM_PREPEND
0b9f9dfb
AL
52 tristate "Tag driver for Broadcom switches using prepended headers"
53 select NET_DSA_TAG_BRCM_COMMON
54 help
55 Say Y if you want to enable support for tagging frames for the
56 Broadcom switches which places the tag before the Ethernet header
57 (prepended).
58
59config NET_DSA_TAG_GSWIP
60 tristate "Tag driver for Lantiq / Intel GSWIP switches"
61 help
62 Say Y or M if you want to enable support for tagging frames for the
63 Lantiq / Intel GSWIP switches.
b74b70c4 64
cf85d08f 65config NET_DSA_TAG_DSA
0b9f9dfb
AL
66 tristate "Tag driver for Marvell switches using DSA headers"
67 help
68 Say Y or M if you want to enable support for tagging frames for the
69 Marvell switches which use DSA headers.
cf85d08f 70
91da11f8 71config NET_DSA_TAG_EDSA
0b9f9dfb
AL
72 tristate "Tag driver for Marvell switches using EtherType DSA headers"
73 help
74 Say Y or M if you want to enable support for tagging frames for the
75 Marvell switches which use EtherType DSA headers.
91da11f8 76
0b9f9dfb
AL
77config NET_DSA_TAG_MTK
78 tristate "Tag driver for Mediatek switches"
79 help
80 Say Y or M if you want to enable support for tagging frames for
81 Mediatek switches.
82
8b8010fb 83config NET_DSA_TAG_KSZ
f4073e91 84 tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
0b9f9dfb
AL
85 help
86 Say Y if you want to enable support for tagging frames for the
f4073e91 87 Microchip 8795/9477/9893 families of switches.
39d6b96f 88
efd7fe68
LW
89config NET_DSA_TAG_RTL4_A
90 tristate "Tag driver for Realtek 4 byte protocol A tags"
91 help
92 Say Y or M if you want to enable support for tagging frames for the
93 Realtek switches with 4 byte protocol A tags, sich as found in
94 the Realtek RTL8366RB.
95
8dce89aa
VO
96config NET_DSA_TAG_OCELOT
97 tristate "Tag driver for Ocelot family of switches"
98 select PACKING
99 help
100 Say Y or M if you want to enable support for tagging frames for the
101 Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
102
0b9f9dfb
AL
103config NET_DSA_TAG_QCA
104 tristate "Tag driver for Qualcomm Atheros QCA8K switches"
105 help
106 Say Y or M if you want to enable support for tagging frames for
107 the Qualcomm Atheros QCA8K switches.
b3422a31 108
0b9f9dfb
AL
109config NET_DSA_TAG_LAN9303
110 tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
111 help
112 Say Y or M if you want to enable support for tagging frames for the
113 SMSC/Microchip LAN9303 family of switches.
cafdc45c 114
227d07a0
VO
115config NET_DSA_TAG_SJA1105
116 tristate "Tag driver for NXP SJA1105 switches"
117 select NET_DSA_TAG_8021Q
6358f38c 118 select PACKING
227d07a0
VO
119 help
120 Say Y or M if you want to enable support for tagging frames with the
121 NXP SJA1105 switch family. Both the native tagging protocol (which
122 is only for link-local traffic) as well as non-native tagging (based
123 on a custom 802.1Q VLAN header) are available.
124
eb7b7211 125config NET_DSA_TAG_TRAILER
0b9f9dfb
AL
126 tristate "Tag driver for switches using a trailer tag"
127 help
128 Say Y or M if you want to enable support for tagging frames at
129 with a trailed. e.g. Marvell 88E6060.
e8fe177a 130
b3422a31 131endif