Subject: Re: IGMP Join dropping multicast packets

From: Eric Dumazet <[email-masked]>
Date: Mon, 16 Mar 2009 20:01:01 +0100

Dave Boutcher a écrit :
> On Sat, Mar 14, 2009 at 9:37 PM, Eric Dumazet <[email-masked]> wrote:
>> Dave Boutcher a écrit :
>>> I'm running into an interesting problem with joining multiple
>>> multicast feeds.  If you join multiple multicast feeds using
>>> setsockopt(...,IP_ADD_MEMBERSHIP...) it causes packets on UNRELATED
>>> multicast feeds to get dropped.  We have a multicast feed on a rock
>>> solid network, and we were very surprised to see dropped packets.  The
>>> cause was a different process/program being run by a different user
>>> joining a bunch of mulitcast feeds.
>> I could not reproduce the problem on my machines (bnx2 adapter), even if changing
>> NUMSOCK from 55 to 200 in joiner.c
> 
> Thanks for trying Eric.  Based on your email I did some more testing
> and thus far I've
> only recreated this on x86_64 arches, not on i386.  Which arch did you
> try it on?

I tried both, 32 and 64 bit kernels. No problems so far.

Could you post a linux kernel .config of a non 'working' machine, and dmesg output ?

> 
>> Is your network a 100Mb one or Gigabit ?
>> Try to slow down your joiner ?
>> (Could be a flood of IGMP messages your router/switch cannot cope with)
>>
>> Please describe your "rock solid" network setup (kind of network adapters you have, kind of router...)
> 
> The problem originally manifest itself at work on a 24-core Dell
> server with 6 NICs.   The network
> is gigabit with a Cisco 4900 switch.  I recreated it in my basement on
> my little white-box
> system and a cheap netgear switch.  The NIC at work is Intel e1000e
> driver, the one
> at home is also e1000.
> 
>> If using tcpdump to force promiscuous mode on the device also triggers packet losses ?
>>
>> (see also ifconfig ethX promisc|allmulti)
> 
> I haven't had a chance to play with promiscuous yet...
>