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

Felix Fietkau nbd at nbd.name
Tue May 10 15:06:25 PDT 2022


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



More information about the linux-arm-kernel mailing list