Bridge-vlan bug? (mt7621/DSA)

Thibaut hacks at slashdirt.org
Fri Aug 12 08:06:38 PDT 2022


> Le 10 août 2022 à 17:07, Thibaut <hacks at slashdirt.org> a écrit :
> 

> The most salient differences that I can spot are:
> - the leftover bits from https://github.com/torvalds/linux/commit/5a30833b9a16f8d1aa15de06636f9317ca51f9df, which probably cannot be backported since they relate to the new bridge flags API;
> - the removal of the switchdev transactions (although if I read the code correctly they don’t do anything in mt7530?);
> - the changes related to https://github.com/torvalds/linux/commit/b7a9e0da2d1c954b7c38217a29e002528b90d174, which are quite invasive

I tested a backport of the latter change and it didn’t solve the problem. I also tried a couple fixes I spotted in the differences between both code bases to no avail.

Tested changes visible here: https://github.com/f00b4r0/openwrt/tree/mt76dsafixes

As far as the mt7530 driver is concerned the differences are fairly limited beyond that point. I do notice in generic code that the API for handling port state changes has been significantly reworked in the interval, and I’m now starting to wonder if this could be related.

Of note: the throughput limit only occurs *while* a 100M device is plugged on the other ethernet port: as soon as it’s unplugged the limit is lifted. I also tested while a transfer was happening on the other port (connected to 1000M device) and the bottleneck also disappears mid-transfer when the 100M device is unplugged. So it stands to reason that the code that handles port state changes is involved in this problem.

HTH
T


More information about the openwrt-devel mailing list