4 ms·
This has happened with other ethernet controllers too. It's about the fact that they can send pause frames when the host disconnects while the power is still on
by oneplane 5y ago
This has happened with other ethernet controllers too. It's about the fact that they can send pause frames when the host disconnects while the power is still on.
You can also do this with USB-A, get an USB-A controller that sends pause frames, plug it into a powered USB hub and connect to your computer. Unplug, watch the ethernet link still being online and suddenly the network dies. Mostly happens with Realtek USB Ethernet controllers.
This is a firmware feature so technically you can turn it off.
If you want to try it with PCI or PCIe: get a powered backplane or bifurcation board or thunderbolt-to-pci bridge. Connect/use as normal then disconnect the host while leaving power on. Same problem happens with controllers that send pause frames.
- ploxiln 5y agoAbout 10 years ago, I was working in a startup that had a hadoop cluster on some bare metal servers in a datacenter. At one point when the dataset size and sustained traffic between nodes grew to a particular level, the network throughput crashed to a trickle, until the hadoop jobs were all canceled, then network was fine a minute later. It turned out to be pause frames! The switches were too eager to propagate them, or something? The fix was to just disable them on all NICs - TCP can handle packet loss and rate control pretty well in those conditions anyway (gigabit switched ethernet). (I can't take any credit for the work debugging and mitigating this issue.) Anyway, it seems this is one of those bugs that pops back up from time to time... people try to implement this bit of the spec along with the rest, but don't realize how it's really supposed to behave under stress, and it's never tested under this kind of stress...