OpenCloudOS-Kernel/net/dsa
Florian Fainelli 4d776482ec net: dsa: Get information about stacked DSA protocol
It is possible to stack multiple DSA switches in a way that they are not
part of the tree (disjoint) but the DSA master of a switch is a DSA
slave of another. When that happens switch drivers may have to know this
is the case so as to determine whether their tagging protocol has a
remove chance of working.

This is useful for specific switch drivers such as b53 where devices
have been known to be stacked in the wild without the Broadcom tag
protocol supporting that feature. This allows b53 to continue supporting
those devices by forcing the disabling of Broadcom tags on the outermost
switches if necessary.

The get_tag_protocol() function is therefore updated to gain an
additional enum dsa_tag_protocol argument which denotes the current
tagging protocol used by the DSA master we are attached to, else
DSA_TAG_PROTO_NONE for the top of the dsa_switch_tree.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-01-08 16:01:13 -08:00
..
Kconfig net: dsa: add support for Atheros AR9331 TAG format 2019-12-20 17:05:47 -08:00
Makefile net: dsa: add support for Atheros AR9331 TAG format 2019-12-20 17:05:47 -08:00
dsa.c net: dsa: Add support for devlink resources 2019-11-05 18:09:45 -08:00
dsa2.c net: dsa: Get information about stacked DSA protocol 2020-01-08 16:01:13 -08:00
dsa_priv.h net: dsa: Get information about stacked DSA protocol 2020-01-08 16:01:13 -08:00
master.c net: dsa: Deny PTP on master if switch supports it 2019-12-28 11:43:41 -08:00
port.c net: dsa: Pass pcs_poll flag from driver to PHYLINK 2020-01-05 23:22:32 -08:00
slave.c net: dsa: Get information about stacked DSA protocol 2020-01-08 16:01:13 -08:00
switch.c net: dsa: use dsa_to_port helper everywhere 2019-10-22 12:37:06 -07:00
tag_8021q.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
tag_ar9331.c net: dsa: add support for Atheros AR9331 TAG format 2019-12-20 17:05:47 -08:00
tag_brcm.c dsa: tag_brcm: Fix build error without CONFIG_NET_DSA_TAG_BRCM_PREPEND 2019-05-10 15:06:45 -07:00
tag_dsa.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_edsa.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_gswip.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_ksz.c net: dsa: ksz: use common define for tag len 2019-12-20 21:06:49 -08:00
tag_lan9303.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_mtk.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_ocelot.c net: dsa: ocelot: add hardware timestamping support for Felix 2019-11-21 14:39:02 -08:00
tag_qca.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_sja1105.c net: dsa: tag_sja1105: Slightly improve the Xmas tree in sja1105_xmit 2020-01-05 15:13:13 -08:00
tag_trailer.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00