[openjdk-x] Bind to a multicast address fails
Alan Bateman
Alan.Bateman at oracle.com
Fri Sep 7 11:57:17 UTC 2018
On 07/09/2018 12:33, Andre Naujoks wrote:
> :
> Hi Alan.
>
> First of all, thank you for the quick reply. I was not aware, that there
> was actually a bug opened for that issue.
>
> The join is not the problem at this point. We need to bind the socket to
> the address to avoid receiving traffic from all multicast groups, that
> are joined on the system. Since a join joins the system (not the socket)
> to the group, all sockets bound to a port, which receive multicast
> traffic will receive all of that traffic, no matter the destination
> address. The bind prevents that. IP_MULTICAST_ALL sadly only works for
> IPv4 and the patch I tried to get IPV6_MULTICAST_ALL upstream into the
> kernel was even more sadly (almost) ignored. see
> https://marc.info/?l=linux-netdev&m=152344460530252&w=2
>
The JDK sets IP_MULTICAST_ALL to 0 on Linux to avoid this interference
and get the behavior consistent with other platforms. It's news to me
that it doesn't work on IPv6 as we always disable it, even if the socket
is IPv6. Does it work when the IPv6 socket joins an IPv4 multicast group?
-Alan.
More information about the net-dev
mailing list