Subject: Re: [PATCH] net: dsa: tag_mtk: add padding for tx packets

From: Jakub Kicinski <[email-masked]>
Date: Mon, 9 May 2022 17:27:09 -0700

On Fri,  6 May 2022 21:43:44 +0200 Felix Fietkau wrote:
> From: Felix Fietkau <[email-masked]>
> To: [email-masked]

Please repost and CC DSA maintainers.

> Subject: [PATCH] net: dsa: tag_mtk: add padding for tx packets

[PATCH net]

> Padding for transmitted packets needs to account for the special tag.
> With not enough padding, garbage bytes are inserted by the switch at the
> end of small packets.
> 
> Fixes: 5cd8985a1909 ("net-next: dsa: add Mediatek tag RX/TX handler")

And CC anyone with tags on this commit.

> Signed-off-by: Felix Fietkau <[email-masked]>
> ---
>  net/dsa/tag_mtk.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c
> index 415d8ece242a..1d1f9dbd9e93 100644
> --- a/net/dsa/tag_mtk.c
> +++ b/net/dsa/tag_mtk.c
> @@ -25,6 +25,14 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb,
>  	u8 xmit_tpid;
>  	u8 *mtk_tag;
>  
> +	/* The Ethernet switch we are interfaced with needs packets to be at
> +	 * least 64 bytes (including FCS) otherwise their padding might be
> +	 * corrupted. With tags enabled, we need to make sure that packets are
> +	 * at least 68 bytes (including FCS and tag).
> +	 */
> +	if (__skb_put_padto(skb, ETH_ZLEN + MTK_HDR_LEN, false))
> +		return NULL;

That doesn't happen for VLANs? Only the mtk tag is special?