2023-06-28 20:02:43

by Pawel Dembicki

[permalink] [raw]
Subject: [PATCH] net: dsa: vsc73xx: fix MTU configuration

Switch in MAXLEN register stores the maximum size of a data frame.
The MTU size is 18 bytes smaller than the frame size.

The current settings are causing problems with packet forwarding.
This patch fixes the MTU settings to proper values.

Fixes: fb77ffc6ec86 ("net: dsa: vsc73xx: make the MTU configurable")
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Pawel Dembicki <[email protected]>

---
In my first attempt, I sent it to net-next [0], but I was asked to resend
it to net.

[0]https://lore.kernel.org/netdev/[email protected]/

drivers/net/dsa/vitesse-vsc73xx-core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/dsa/vitesse-vsc73xx-core.c b/drivers/net/dsa/vitesse-vsc73xx-core.c
index ae55167ce0a6..ef1a4a7c47b2 100644
--- a/drivers/net/dsa/vitesse-vsc73xx-core.c
+++ b/drivers/net/dsa/vitesse-vsc73xx-core.c
@@ -1025,17 +1025,17 @@ static int vsc73xx_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
struct vsc73xx *vsc = ds->priv;

return vsc73xx_write(vsc, VSC73XX_BLOCK_MAC, port,
- VSC73XX_MAXLEN, new_mtu);
+ VSC73XX_MAXLEN, new_mtu + ETH_HLEN + ETH_FCS_LEN);
}

/* According to application not "VSC7398 Jumbo Frames" setting
- * up the MTU to 9.6 KB does not affect the performance on standard
+ * up the frame size to 9.6 KB does not affect the performance on standard
* frames. It is clear from the application note that
* "9.6 kilobytes" == 9600 bytes.
*/
static int vsc73xx_get_max_mtu(struct dsa_switch *ds, int port)
{
- return 9600;
+ return 9600 - ETH_HLEN - ETH_FCS_LEN;
}

static const struct dsa_switch_ops vsc73xx_ds_ops = {
--
2.34.1



2023-06-28 21:56:20

by Vladimir Oltean

[permalink] [raw]
Subject: Re: [PATCH] net: dsa: vsc73xx: fix MTU configuration

On Wed, Jun 28, 2023 at 09:43:27PM +0200, Pawel Dembicki wrote:
> Switch in MAXLEN register stores the maximum size of a data frame.
> The MTU size is 18 bytes smaller than the frame size.
>
> The current settings are causing problems with packet forwarding.
> This patch fixes the MTU settings to proper values.
>
> Fixes: fb77ffc6ec86 ("net: dsa: vsc73xx: make the MTU configurable")
> Reviewed-by: Linus Walleij <[email protected]>
> Signed-off-by: Pawel Dembicki <[email protected]>
>
> ---
> In my first attempt, I sent it to net-next [0], but I was asked to resend
> it to net.
>
> [0]https://lore.kernel.org/netdev/[email protected]/

Just like you had marked those earlier patches as "[PATCH net-next]",
this should have also been marked as "[PATCH v2 net]". Patchwork does
complain about that and deduced the wrong tree, but accepted it anyway
and otherwise ran its tests.
https://patchwork.kernel.org/project/netdevbpf/patch/[email protected]/

I don't believe there is any reason to resend this patch.

Reviewed-by: Vladimir Oltean <[email protected]>

2023-06-30 00:52:48

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] net: dsa: vsc73xx: fix MTU configuration

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <[email protected]>:

On Wed, 28 Jun 2023 21:43:27 +0200 you wrote:
> Switch in MAXLEN register stores the maximum size of a data frame.
> The MTU size is 18 bytes smaller than the frame size.
>
> The current settings are causing problems with packet forwarding.
> This patch fixes the MTU settings to proper values.
>
> Fixes: fb77ffc6ec86 ("net: dsa: vsc73xx: make the MTU configurable")
> Reviewed-by: Linus Walleij <[email protected]>
> Signed-off-by: Pawel Dembicki <[email protected]>
>
> [...]

Here is the summary with links:
- net: dsa: vsc73xx: fix MTU configuration
https://git.kernel.org/netdev/net/c/3cf62c8177ad

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