]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: mv88e6xxx: Flood broadcast frames in hardware
authorAndrew Lunn <andrew@lunn.ch>
Thu, 9 Nov 2017 21:29:56 +0000 (22:29 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Nov 2017 10:33:11 +0000 (19:33 +0900)
commit4f1db5e746bf3c2cb602beece810605929d37f9f
tree5220df86465cbbe42582270ee3320a9d32a5669c
parentfc2fb4e5b57722e0c434924d2b02b58684375740
net: dsa: mv88e6xxx: Flood broadcast frames in hardware

By default, the switch does not flood broadcast frames. Instead the
broadcast address is unknown in the ATU, so the frame gets forwarded
out the cpu port. The software bridge then floods it back to the
individual switch ports which are members of the bridge.

Add an ATU entry in the switch so that it floods broadcast frames out
ports, rather than have the software bridge do it. Also, send a copy
out the cpu port and any dsa ports. Rely on the port vectors to
prevent broadcast frames leaking between bridges, and separated ports.

Additionally, when a VLAN is added, a new FID is allocated.  This
represents a new table of ATU entries. A broadcast entry is added to
the new FID.

With offload_fwd_mark being set, the software bridge will not flood
the frames it receives back to the switch.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/chip.c