2022-09-12 05:30:00

by Rakesh Sankaranarayanan

[permalink] [raw]
Subject: [Patch net] net: dsa: microchip: lan937x: fix maximum frame length check

Maximum frame length check is enabled in lan937x switch on POR, But it
is found to be disabled on driver during port setup operation. Due to
this, packets are not dropped when transmitted with greater than configured
value. For testing, setup made for lan1->lan2 transmission and configured
lan1 interface with a frame length (less than 1500 as mentioned in
documentation) and transmitted packets with greater than configured value.
Expected no packets at lan2 end, but packets observed at lan2.

Based on the documentation, packets should get discarded if the actual
packet length doesn't match the frame length configured. Frame length check
should be disabled only for cascaded ports due to tailtags.

This feature was disabled on ksz9477 series due to ptp issue, which is
not in lan937x series. But since lan937x took ksz9477 as base, frame
length check disabled here as well. Patch added to remove this portion
from port setup so that maximum frame length check will be active for
normal ports.

Fixes: 55ab6ffaf378 ("net: dsa: microchip: add DSA support for microchip LAN937x")
Signed-off-by: Rakesh Sankaranarayanan <[email protected]>
---
drivers/net/dsa/microchip/lan937x_main.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/net/dsa/microchip/lan937x_main.c b/drivers/net/dsa/microchip/lan937x_main.c
index 4867aa62dd4c..7d06488d1eea 100644
--- a/drivers/net/dsa/microchip/lan937x_main.c
+++ b/drivers/net/dsa/microchip/lan937x_main.c
@@ -296,10 +296,6 @@ void lan937x_port_setup(struct ksz_device *dev, int port, bool cpu_port)
lan937x_port_cfg(dev, port, REG_PORT_CTRL_0,
PORT_TAIL_TAG_ENABLE, true);

- /* disable frame check length field */
- lan937x_port_cfg(dev, port, REG_PORT_MAC_CTRL_0, PORT_CHECK_LENGTH,
- false);
-
/* set back pressure for half duplex */
lan937x_port_cfg(dev, port, REG_PORT_MAC_CTRL_1, PORT_BACK_PRESSURE,
true);
--
2.34.1


2022-09-20 10:43:59

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [Patch net] net: dsa: microchip: lan937x: fix maximum frame length check

Hello:

This patch was applied to netdev/net.git (master)
by Paolo Abeni <[email protected]>:

On Mon, 12 Sep 2022 10:42:28 +0530 you wrote:
> Maximum frame length check is enabled in lan937x switch on POR, But it
> is found to be disabled on driver during port setup operation. Due to
> this, packets are not dropped when transmitted with greater than configured
> value. For testing, setup made for lan1->lan2 transmission and configured
> lan1 interface with a frame length (less than 1500 as mentioned in
> documentation) and transmitted packets with greater than configured value.
> Expected no packets at lan2 end, but packets observed at lan2.
>
> [...]

Here is the summary with links:
- [net] net: dsa: microchip: lan937x: fix maximum frame length check
https://git.kernel.org/netdev/net/c/807e5eda2078

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html