Press "Enter" to skip to content

sleeping computer on gigabit ethernet kills multicast performance

Last updated on December 26, 2018

        Problem: any sleeping computer on a gigabit network causes all multicast traffic to drop to 10Mbps.
Solution: provide customers with managed gigabit switches and train them to configure the switches manually. Not an ideal solution. I discovered today another workaround… the cause is 802.3x flow-control. Disabling flow-control fixes the problem:
sudo ifconfig en0 -mediaopt flow-control
However this means that every device on every customers network would need to turn off auto negotiation, then manually turn flow-control off. Turning off auto-negotiation is a very bad idea. Not a workable solution. One example: I notice that on my dumb, old gigabit switch,
  • sleeping machine has flow control ON , link light ON, 1000Mbps light is off
  • sleeping machine has flow control OFF, link light ON, 1000Mbps light is lit.
My question is: Is there any RFC/protocol which would allow traffic to ignore flow-control. (Probably not) Is there any RFC/protocol/hack to discover whether a sleeping device on a network uses flow-control… (Maybe?) Is there any RFC/protocol/hack to discover what is the auto-negotiated speed of each device on its immediate switch (albeit dumb switch)? This would at least allow my software to warn a user why their multicast performance is 10Mbps.

Be First to Comment

Leave a Reply

%d bloggers like this: