]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: mv88e6xxx: isolate unbridged ports
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>
Wed, 4 Nov 2015 22:23:40 +0000 (17:23 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Nov 2015 18:37:23 +0000 (13:37 -0500)
commit3d3a5d75d95c0204e61d9750982e390f3601062e
tree1f9d8c509ba98cabee1aaaf986f312ac8e062707
parenta4e12e1f6fe4de4515051a8533f6a26f7f9e6469
net: dsa: mv88e6xxx: isolate unbridged ports

The DSA documentation specifies that each port must be capable of
forwarding frames to the CPU port. The last changes on bridging support
for the mv88e6xxx driver broke this requirement for non-bridged ports.

So as for the bridged ports, reserve a few VLANs (4000+) in the switch
to isolate ports that have not been bridged yet.

By default, a port will be isolated with the CPU and DSA ports. When the
port joins a bridge, it will leave its reserved port. When it is removed
from a bridge, it will join its reserved VLAN again.

Fixes: 4ea5d2c4ff96 ("net: dsa: mv88e6xxx: fix hardware bridging")
Reported-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6171.c
drivers/net/dsa/mv88e6352.c
drivers/net/dsa/mv88e6xxx.c
drivers/net/dsa/mv88e6xxx.h