apologies for an OT question. This is only marginally/potentially related to OpenWRT. But it is related tightly to cheap switch hardware. For the lack of a better forum, I'm asking here, because this place is blessed with people who have their hands dirty with this tech.
This hasn't happened to me personally, I've been asked this question in a forum... but I'm highly curious if there is an explanation, or at least a confirmation of this issue.
The problem can be formulated thusly:
Consider a cheap dumb gigabit SoHo switch, or a WiFi AP with a small switch subsystem built in. Under normal circumstances, the switch is capable of its gigabit at wire speed, and the router CPU can do several hundred Mbps.
The switch is in operation, everything works, users are doing their internet stuff. If upstream bandwidth allows, hundreds of Mbps are flying.
And then suddenly, someone plugs in an Ethernet client device, that links at 10 Mbps. In my particular example, a computer gets shut down or suspended, with the LAN port kept powered and linked for WoL. The NIC only shifts down to 10 Mbps to save StandBy power.
At that moment when a port on the switch links at 10 Mbps, everybody else's TRAFFIC SLOWS DOWN to a 10 Mbps crawl.
There's no big volume of multicasts, the sleeping PC does not communicate at its NIC at all, there's no apparent reason for the 10Mbps port to unleash 802.3x flow control / head-of-line blocking.
I didn't want to believe it, and had no explanation (except it smells of 802.3x flow control), but then I've found another report of this.
The fresh case reported to me involves a Mikrotik hAP AX3, based on the IPQ6010 - not sure if the switch is integrated in the SoC.
The behavior doesn't make any sense to me, other than that it's a bug or a serious deficiency in the switch silicon. This should be taken care of by queuing per port on egress. In general, most switch chipset datasheets claim that the matrix is non-blocking. Not sure about the IPQ6010.
Have you met this before, anyone?
Any ideas are welcome
I do not need workarounds, I can come up with some myselfs.
I would just appreciate confirmation of the issue, if it rings a bell.
Thanks for your attention