]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: lan9303: Learn addresses on CPU port when bridged
authorEgil Hjelmeland <privat@egil-hjelmeland.no>
Thu, 26 Oct 2017 09:00:49 +0000 (11:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Oct 2017 14:30:53 +0000 (23:30 +0900)
commitbade9af38a9deff8c0c6631f7aa50d75d0cf7cf1
tree12876d038da1bfc14053a53caca56bdbaad16309
parent6aa5f8d93c60dd3b80a09bcf69364ba7e787e35d
net: dsa: lan9303: Learn addresses on CPU port when bridged

When CPU transmit directly to port using tag, the LAN9303 does not
learn MAC addresses received on the CPU port into the ALR.
ALR learning is performed only when transmitting using ALR lookup.

Solution:
If the two external ports are bridged and the packet is not STP BPDU,
then use ALR lookup to allow ALR learning on CPU port.
Otherwise transmit directly to port with STP state override.

Signed-off-by: Egil Hjelmeland <privat@egil-hjelmeland.no>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/tag_lan9303.c