linux/drivers/net/dsa/realtek
Linus Walleij d577ca429a net: dsa: realtek: Rewrite RTL8366RB MTU handling
The MTU callbacks are in layer 1 size, so for example 1500
bytes is a normal setting. Cache this size, and only add
the layer 2 framing right before choosing the setting. On
the CPU port this will however include the DSA tag since
this is transmitted from the parent ethernet interface!

Add the layer 2 overhead such as ethernet and VLAN framing
and FCS before selecting the size in the register.

This will make the code easier to understand.

The rtl8366rb_max_mtu() callback returns a bogus MTU
just subtracting the CPU tag, which is the only thing
we should NOT subtract. Return the correct layer 1
max MTU after removing headers and checksum.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2023-12-12 14:17:06 +01:00
..
Kconfig
Makefile
realtek-mdio.c
realtek-smi.c net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
realtek.h net: dsa: Use conduit and user terms 2023-10-24 13:08:14 -07:00
rtl8365mb.c net: Convert some ethtool_sprintf() to ethtool_puts() 2023-12-08 10:56:25 +00:00
rtl8366-core.c net: Convert some ethtool_sprintf() to ethtool_puts() 2023-12-08 10:56:25 +00:00
rtl8366rb.c net: dsa: realtek: Rewrite RTL8366RB MTU handling 2023-12-12 14:17:06 +01:00