Thanks for the answer David. The interface is not being set explicitly with IP_MULTICAST_IF, and the multicast join has INADDR_ANY. What I am seeing is that if there is no route, the kernel, as you say, choses an interface to send the join (usually eth0, is this always the case?). >From then onwards, only multicast traffic received on the interface where the join was sent is forwared to the application. Multicast traffic to an IP that the application is listening to but received on any other interface is not seen. What I want is a way for the kernel to forward multicast traffic to listening sockets independently of the interface and of the IGMP join. Is this possible? It doesn't seem logical to me to discard multicast traffic because it comes from an interface the kernel didn't chose to send the IGMP join. Thanks, Alex On Fri, Jun 26, 2009 at 5:18 PM, David Stevens<dlstevens@xxxxxxxxxx> wrote: > If you specify the interface explicitly, by using IP_MULTICAST_IF or > setting it in the join, then it will listen on the correct interface > regardless > of the routing table. If you don't, the kernel picks an interface for you, > and I'd guess it's picking the wrong one when it's failing for you. > > +-DLS > > -- To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html