forked from Minki/linux
Documentation: net: dsa: sja1105: Add info about supported traffic modes
This adds a table which illustrates what combinations of management / regular traffic work depending on the state the switch ports are in. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
640f763f98
commit
0a58d471de
@ -63,6 +63,38 @@ If that changed setting can be transmitted to the switch through the dynamic
|
||||
reconfiguration interface, it is; otherwise the switch is reset and
|
||||
reprogrammed with the updated static configuration.
|
||||
|
||||
Traffic support
|
||||
===============
|
||||
|
||||
The switches do not support switch tagging in hardware. But they do support
|
||||
customizing the TPID by which VLAN traffic is identified as such. The switch
|
||||
driver is leveraging ``CONFIG_NET_DSA_TAG_8021Q`` by requesting that special
|
||||
VLANs (with a custom TPID of ``ETH_P_EDSA`` instead of ``ETH_P_8021Q``) are
|
||||
installed on its ports when not in ``vlan_filtering`` mode. This does not
|
||||
interfere with the reception and transmission of real 802.1Q-tagged traffic,
|
||||
because the switch does no longer parse those packets as VLAN after the TPID
|
||||
change.
|
||||
The TPID is restored when ``vlan_filtering`` is requested by the user through
|
||||
the bridge layer, and general IP termination becomes no longer possible through
|
||||
the switch netdevices in this mode.
|
||||
|
||||
The switches have two programmable filters for link-local destination MACs.
|
||||
These are used to trap BPDUs and PTP traffic to the master netdevice, and are
|
||||
further used to support STP and 1588 ordinary clock/boundary clock
|
||||
functionality.
|
||||
|
||||
The following traffic modes are supported over the switch netdevices:
|
||||
|
||||
+--------------------+------------+------------------+------------------+
|
||||
| | Standalone | Bridged with | Bridged with |
|
||||
| | ports | vlan_filtering 0 | vlan_filtering 1 |
|
||||
+====================+============+==================+==================+
|
||||
| Regular traffic | Yes | Yes | No (use master) |
|
||||
+--------------------+------------+------------------+------------------+
|
||||
| Management traffic | Yes | Yes | Yes |
|
||||
| (BPDU, PTP) | | | |
|
||||
+--------------------+------------+------------------+------------------+
|
||||
|
||||
Switching features
|
||||
==================
|
||||
|
||||
@ -92,6 +124,28 @@ that VLAN awareness is global at the switch level is that once a bridge with
|
||||
``vlan_filtering`` enslaves at least one switch port, the other un-bridged
|
||||
ports are no longer available for standalone traffic termination.
|
||||
|
||||
Topology and loop detection through STP is supported.
|
||||
|
||||
L2 FDB manipulation (add/delete/dump) is currently possible for the first
|
||||
generation devices. Aging time of FDB entries, as well as enabling fully static
|
||||
management (no address learning and no flooding of unknown traffic) is not yet
|
||||
configurable in the driver.
|
||||
|
||||
A special comment about bridging with other netdevices (illustrated with an
|
||||
example):
|
||||
|
||||
A board has eth0, eth1, swp0@eth1, swp1@eth1, swp2@eth1, swp3@eth1.
|
||||
The switch ports (swp0-3) are under br0.
|
||||
It is desired that eth0 is turned into another switched port that communicates
|
||||
with swp0-3.
|
||||
|
||||
If br0 has vlan_filtering 0, then eth0 can simply be added to br0 with the
|
||||
intended results.
|
||||
If br0 has vlan_filtering 1, then a new br1 interface needs to be created that
|
||||
enslaves eth0 and eth1 (the DSA master of the switch ports). This is because in
|
||||
this mode, the switch ports beneath br0 are not capable of regular traffic, and
|
||||
are only used as a conduit for switchdev operations.
|
||||
|
||||
Device Tree bindings and board design
|
||||
=====================================
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user