realtek: don't set L2LEARNING flag in rtl83xx TX header
authorJan Hoffmann <jan@3e8.eu>
Sat, 17 Dec 2022 20:39:40 +0000 (21:39 +0100)
committerSander Vanheule <sander@svanheule.net>
Tue, 27 Dec 2022 15:29:39 +0000 (16:29 +0100)
commitc94ca63ed4eed9aa92dc2fa4d61235b6845b42d3
treeb83165e6e47785b937b67d661f693f2a9c9ec08f
parentfb15cb4ce9559021d463b5cb3816d8a9eeb8f3f9
realtek: don't set L2LEARNING flag in rtl83xx TX header

As learning for the CPU port is now disabled globally, the bit in the
TX header doesn't have any effect anymore. Remove it to make the header
consistent with the global configuration.

Originally, this change was intended to be applied before commit
eb456aedfe24 ("realtek: use assisted learning on CPU port"), which is
why the commit message incorrectly mentions that the TX header already
disables learning.

The reason for disabling learning on the CPU port in the first place is
that it doesn't work correctly when packets are trapped to the CPU and
then forwarded by the CPU to other ports. In that case, the switch would
incorrectly learn the CPU port as source. An example that triggered this
issue are Multicast Listener Reports and IGMP membership reports.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c
target/linux/realtek/files-5.15/drivers/net/ethernet/rtl838x_eth.c