| .. | .. | 
|---|
 | 1 | +# SPDX-License-Identifier: GPL-2.0-only  | 
|---|
| 1 | 2 |  config HAVE_NET_DSA | 
|---|
| 2 | 3 |  	def_bool y | 
|---|
| 3 | 4 |  	depends on INET && NETDEVICES && !S390 | 
|---|
| 4 | 5 |   | 
|---|
| 5 | 6 |  # Drivers must select NET_DSA and the appropriate tagging format | 
|---|
| 6 | 7 |   | 
|---|
| 7 |  | -config NET_DSA  | 
|---|
 | 8 | +menuconfig NET_DSA  | 
|---|
| 8 | 9 |  	tristate "Distributed Switch Architecture" | 
|---|
| 9 |  | -	depends on HAVE_NET_DSA && MAY_USE_DEVLINK  | 
|---|
 | 10 | +	depends on HAVE_NET_DSA  | 
|---|
| 10 | 11 |  	depends on BRIDGE || BRIDGE=n | 
|---|
| 11 | 12 |  	select GRO_CELLS | 
|---|
| 12 | 13 |  	select NET_SWITCHDEV | 
|---|
| 13 | 14 |  	select PHYLINK | 
|---|
| 14 |  | -	---help---  | 
|---|
 | 15 | +	select NET_DEVLINK  | 
|---|
 | 16 | +	help  | 
|---|
| 15 | 17 |  	  Say Y if you want to enable support for the hardware switches supported | 
|---|
| 16 | 18 |  	  by the Distributed Switch Architecture. | 
|---|
| 17 | 19 |   | 
|---|
| 18 | 20 |  if NET_DSA | 
|---|
| 19 | 21 |   | 
|---|
| 20 |  | -config NET_DSA_LEGACY  | 
|---|
| 21 |  | -	bool "Support for older platform device and Device Tree registration"  | 
|---|
| 22 |  | -	default y  | 
|---|
| 23 |  | -	---help---  | 
|---|
| 24 |  | -	  Say Y if you want to enable support for the older platform device and  | 
|---|
| 25 |  | -	  deprecated Device Tree binding registration.  | 
|---|
| 26 |  | -  | 
|---|
| 27 |  | -	  This feature is scheduled for removal in 4.17.  | 
|---|
| 28 |  | -  | 
|---|
| 29 | 22 |  # tagging formats | 
|---|
 | 23 | +config NET_DSA_TAG_8021Q  | 
|---|
 | 24 | +	tristate  | 
|---|
 | 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 | +  | 
|---|
 | 33 | +config 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 | +  | 
|---|
 | 39 | +config NET_DSA_TAG_BRCM_COMMON  | 
|---|
 | 40 | +	tristate  | 
|---|
 | 41 | +	default n  | 
|---|
 | 42 | +  | 
|---|
| 30 | 43 |  config NET_DSA_TAG_BRCM | 
|---|
| 31 |  | -	bool  | 
|---|
 | 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 | +  | 
|---|
| 32 | 50 |   | 
|---|
| 33 | 51 |  config NET_DSA_TAG_BRCM_PREPEND | 
|---|
| 34 |  | -	bool  | 
|---|
 | 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 | +  | 
|---|
 | 59 | +config 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.  | 
|---|
| 35 | 64 |   | 
|---|
| 36 | 65 |  config NET_DSA_TAG_DSA | 
|---|
| 37 |  | -	bool  | 
|---|
 | 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.  | 
|---|
| 38 | 70 |   | 
|---|
| 39 | 71 |  config NET_DSA_TAG_EDSA | 
|---|
| 40 |  | -	bool  | 
|---|
| 41 |  | -  | 
|---|
| 42 |  | -config NET_DSA_TAG_KSZ  | 
|---|
| 43 |  | -	bool  | 
|---|
| 44 |  | -  | 
|---|
| 45 |  | -config NET_DSA_TAG_LAN9303  | 
|---|
| 46 |  | -	bool  | 
|---|
 | 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.  | 
|---|
| 47 | 76 |   | 
|---|
| 48 | 77 |  config NET_DSA_TAG_MTK | 
|---|
| 49 |  | -	bool  | 
|---|
 | 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.  | 
|---|
| 50 | 82 |   | 
|---|
| 51 |  | -config NET_DSA_TAG_TRAILER  | 
|---|
| 52 |  | -	bool  | 
|---|
 | 83 | +config NET_DSA_TAG_KSZ  | 
|---|
 | 84 | +	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"  | 
|---|
 | 85 | +	help  | 
|---|
 | 86 | +	  Say Y if you want to enable support for tagging frames for the  | 
|---|
 | 87 | +	  Microchip 8795/9477/9893 families of switches.  | 
|---|
 | 88 | +  | 
|---|
 | 89 | +config 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 | +  | 
|---|
 | 96 | +config 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).  | 
|---|
| 53 | 102 |   | 
|---|
| 54 | 103 |  config NET_DSA_TAG_QCA | 
|---|
| 55 |  | -	bool  | 
|---|
 | 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.  | 
|---|
 | 108 | +  | 
|---|
 | 109 | +config 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.  | 
|---|
 | 114 | +  | 
|---|
 | 115 | +config NET_DSA_TAG_SJA1105  | 
|---|
 | 116 | +	tristate "Tag driver for NXP SJA1105 switches"  | 
|---|
 | 117 | +	select NET_DSA_TAG_8021Q  | 
|---|
 | 118 | +	select PACKING  | 
|---|
 | 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 | +  | 
|---|
 | 125 | +config NET_DSA_TAG_TRAILER  | 
|---|
 | 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.  | 
|---|
| 56 | 130 |   | 
|---|
| 57 | 131 |  endif | 
|---|