netdev
[Top] [All Lists]

Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR

To: linux-kernel@xxxxxxxxxxxxxxx
Subject: Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR
From: "Wesley W. Terpstra" <terpstra@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 4 Jun 2004 17:54:23 +0200
Organization: USAGI Project
Resent-date: Sat, 05 Jun 2004 01:53:27 +0900 (JST)
Resent-from: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Resent-message-id: <20040605.015327.131480818.yoshfuji@linux-ipv6.org>
Resent-to: netdev@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6i
Hi!

I am using the new IGMPv3 support in the 2.6.* series for Single Source
Multicast (SSM). However, the kernel appears to (incorrectly) drop packets
in some situations.

What I do is this: open a UDP port, set it SO_REUSEADDR, bind it to port
6767, and then use IP_ADD_SOURCE_MEMBERSHIP to listen to multicast group 
232.65.43.21 and with a command-line controlled sender.

If I launch the same program twice with different senders, the first program
ceases to receive multicast packets. (Neither from its own sender, nor the
second program's sender) The second program receives packets from its
designated sender only (as expected).

I know from tcpdump that the switch is delivering messages from the first
designated sender. The kernel is simply not giving them to the application.

Some more observations:

If both programs specify the same sender, then both programs receive the
message (as expected).

This is not an issue with subscribing to multiple senders in general. A
single program listening to two senders does receive messages from both.

This seems like a bug to me.

PS. I am not subscribed to this list, so please CC me.

-- 
Wesley W. Terpstra
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

<Prev in Thread] Current Thread [Next in Thread>