Date: Thu, 4 Sep 2014 10:50:12 -0700 From: =?UTF-8?B?56We5piO6YGU5ZOJ?= <jinmei@wide.ad.jp> To: John Baldwin <jhb@freebsd.org> Cc: Craig Rodrigues <rodrigc@freebsd.org>, FreeBSD Net <freebsd-net@freebsd.org>, bugzilla-noreply@freebsd.org, "Andrey V. Elsukov" <ae@freebsd.org> Subject: Re: [Bug 193246] Bug in IPv6 multicast join(), uncovered by Jenkins Message-ID: <CAJE_bqcjE-SKxgLvGrZ1Ts8iFRP3tQV_ZGVgAYuK=hsjQeJtNA@mail.gmail.com> In-Reply-To: <3393302.jtrfEtP2nm@ralph.baldwin.cx> References: <bug-193246-2472@https.bugs.freebsd.org/bugzilla/> <54070758.2050405@FreeBSD.org> <CAG=rPVe05jnxrD8QDkvwThBhKz7GCECRKTjK=XenAhbKwUB%2BPw@mail.gmail.com> <3393302.jtrfEtP2nm@ralph.baldwin.cx>
next in thread | previous in thread | raw e-mail | index | archive | help
At Thu, 04 Sep 2014 10:42:59 -0400, John Baldwin <jhb@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJE_bqcjE-SKxgLvGrZ1Ts8iFRP3tQV_ZGVgAYuK=hsjQeJtNA>