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

From: Felix Fietkau
Date: Tue May 10 2022 - 18:06:50 EST



On 10.05.22 18:52, Vladimir Oltean wrote:
On Tue, May 10, 2022 at 04:52:16PM +0200, Felix Fietkau wrote:

On 10.05.22 14:37, Vladimir Oltean wrote:
> On Tue, May 10, 2022 at 11:40:13AM +0200, Felix Fietkau wrote:
> > 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.
> > I don't think padding bytes are guaranteed to be zeroes. Aren't they
> discarded? What is the issue?
With the broken padding, ARP requests are silently discarded on the receiver
side in my test. Adding the padding explicitly fixes the issue.

- Felix

Ok, I'm not going to complain too much about the patch, but I'm still
curious where are the so-called "broken" packets discarded.
I think the receiving MAC should be passing up to software a buffer
without the extra padding beyond the L2 payload length (at least that's
the behavior I'm familiar with).

I don't know where exactly these packets are discarded.
After digging through the devices I used during the tests, I just found some leftover pcap files that show the differences in the received packets. Since the packets are bigger after my patch, I can't rule out that packet size instead of the padding may have made a difference here in getting the ARP requests accepted by the receiver.

I've extracted the ARP requests and you can find them here:
http://nbd.name/arp-broken.pcap
http://nbd.name/arp-working.pcap

- Felix