At Thu, 04 Sep 2014 10:42:59 -0400, John Baldwin <j...@freebsd.org> wrote:
> > It looks like on Solaris, they support IPv4-mapped multicast addresses for > > IPV6, and things work when they create an IPv6 socket, and then put an > > IPv4-mapped multicast address in it. For Linux, they have specific > > code paths in that function which seem to force creating an IPv4 > > socket. > > >From looking at the source, it doesn't look like the Linux workaround (using > IP_ADD_MEMBERSHIP on an AF_INET6 socket) will work on FreeBSD. I'm not sure > how hard it would be to fix in6_mcast.c to support IPv4 groups. bms@ might > know. (In my understanding) in general, BSD variants intentionally limit the support for the APIs using to that standardized in RFC3493 because of issues such as those described in http://tools.ietf.org/html/draft-cmetz-v6ops-v4mapped-api-harmful-01 (where implications with multicast API are also discussed). So I suspect it'll be generally difficult to extend the support for IPv4-mapped IPv6 addresses. As usual in the case where a deployed application relies on non-standard, non-portable API, making the decision is difficult. Personally, I'd first consider dealing it in the JDK so it'll be more portable. (Even though there are only two OSes today: FreeBSD and Linux:-) that will be helpful for other BSD variants, and also for even more minor systems that don't support the non-standard API. -- JINMEI, Tatuya _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"