Subject: multicast: bug or "feature"

From: Vlad Yasevich <[email-masked]>
Date: Wed, 17 Oct 2007 15:58:05 -0400

We've been trying to field some questions regarding multicast
behavior and one such behavior has stumped us.

I've reproduced the following behavior on 2.6.23.

The application opens 2 sockets.  One socket is the receiver
and it simply binds to 0.0.0.0:2000 and joins a multicast group
on interface eth0 (for the test we used 224.0.1.3).  The other
socket is the sender.  It turns off MULTICAST_LOOP, sets MULTICAST_IF
to eth1, and sends a packet to the group that the first socket
joined.

We are expecting to receive the data on the receiver socket, but
nothing comes back.

Running tcpdump on both interfaces during the test, I see the packet
on both interfaces, ie. I see it sent on eth0 and received on eth1 with
IP statistics going up appropriately.

Looking at the group memberships, I see the receiving interface as
part of the group and IGMP messages were on the wire.

So, before I try to spend time figuring out where the packet went is
why, I'd like to know if this is a Linux "feature".

Thanks
-vlad