Wireshark-users: Re: [Wireshark-users] Ethernet flow control
From: "Jim Young" <SYSJHY@xxxxxxxxxxxxxxx>
Date: Fri, 05 Dec 2008 15:21:30 -0500
Hello Jake,

>>> "Jake Peavy" <djstunks@xxxxxxxxx> 12/05/08 12:13 PM >>>
<snip>
> 
> Here's what I've got:
> 
>         10/100 full-duplex
>          unmanaged switch
>               +---+
>               |   |
>               |   +----- destination 1
> source ------ +   |
>               |   |
>               |   +----- destination 2
>               |   |
>                +---+
> 
> In this case, if the source provides more than ~7mbps of multicast data to
> the switch, the buffers on dest1 can't handle the rate and begin to send
> ethernet flow control messages back to the switch.  The switch pauses either
> the source itself or the incoming source port (I don't know which).  This
> affects dest2 which has sufficient buffer and would like to continue to
> receive the full rate stream.
<snip>

I have also seen similar ~7mbs multicast limitations.

At what speed are ALL of the devices connected to this 
unmanaged 10/100 switch?

There MAY be a perhaps a couple of related issues going on.   Since 
you stated this is an unmanaged switch, the switch itself probably does 
NOT engage in IGMP snooping.  IGMP is more or less a L3 protocol 
used between routers and end-stations.  IGMP is used to determine 
what multicast streams are wanted on the segment.   If the switch is 
IGMP aware (i.e. it has IGMP snooping functionality) then the switch 
will prune which ports any multicast streams will be forwarded to
based of the IGMP subscriber requests sent by the connected 
devices.

Without the IGMP snooping feature the switch likely will attempt to 
forward any ingress multicast frames out all active interfaces.   If 
just one of your interfaces is connected at 10Mb you will most will 
have found your bottleneck.   

If one of those interfaces is running at 10 Mb then it is possible that 
the switch's own buffers that are full and it perhaps (if capable) would 
be sending flow control packets out the port that the high-speed multicast 
stream was ingressing on.   

In one similar case I simply unplugged the 10Mb host (an old JetDirect 
printer) from the unmanaged switch and the multicast subscriber 
immediately started receiving the full multicast stream.

Of course the unmanaged switch may not even do flow control.  
The ability to capture the PAUSE frames (if the switch was in fact 
producing them) would most likely be NIC card device driver 
specific.  I suspect (but do not know for sure) that it is unlikely 
that the one can actually capture PAUSE frames with standard 
NIC drivers (especially on a Window's platform). 

I hope you find this info useful.

Jim Y.