[<prev] [next>] [day] [month] [year] [list]
Message-ID: <loom.20080813T072943-582@post.gmane.org>
Date: Wed, 13 Aug 2008 07:39:37 +0000 (UTC)
From: Daniel Ng <daniel_ng11@...os.com>
To: linux-kernel@...r.kernel.org
Subject: Multicast socket behaviour?
Hi,
The below C code registers the socket with the multicast group 'HELLO_GROUP':
mreq.imr_multiaddr.s_addr=inet_addr(HELLO_GROUP);
mreq.imr_address.s_addr=htonl(INADDR_ANY);
mreq.imr_ifindex = if_nametoindex("ppp1");
if (setsockopt(fd,IPPROTO_IP,IP_ADD_MEMBERSHIP,&mreq,sizeof(mreq)) < 0) {
perror("setsockopt");
exit(1);
}
I understand that if 'INADDR_ANY' is used, it is up to the kernel to decide
what action to take.
>From my experiments, it seems that the interface corresponding to the
highest '224.0.0.0' entry in the routing table is used.
Would someone please explain why this is so?
How difficult would it be to have the kernel join the HELLO_GROUP on *all*
available multicast-capable interfaces? Why isn't this currently implemented?
I'm using 2.6.14.
Cheers,
Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists