IPv6 multicast binding (Bugs: JDK-8210493 JDK-8215294)
Andre Naujoks
nautsch2 at gmail.com
Tue Jun 18 12:53:25 UTC 2019
Am 18.06.19 um 08:07 schrieb Alan Bateman:
> On 02/05/2019 09:25, Alan Bateman wrote:
>> On 02/05/2019 08:44, Andre Naujoks wrote:
>>> Hello all.
>>>
>>> I just noticed, that the fix from Bug JDK-8210493 was reverted for Java
>>> 12. With a new bug JDK-8215294 taking over the issue.
>> Yes, it caused problems so had to be reverted. In addition to
>> JDK-8215294 there is also JDK-8216417 which we expect to set the
>> scopeID when binding a TCP socket to an IPv6 link-local address.
> Andre - I don't know if you've tracking recent changes but JDK-8216417
> was addressed in jdk-13+25 so that the scope ID is consistently used
> when binding, connecting, or sending datagram packets to IPv6 addresses.
> In addition, binding to an IPv6 link local address, or
> connecting/sending to an IPv6 link local address on the current host,
> then a scope ID corresponding to the interface index will be used when
> not provided by the application.
>
> It would be useful if you have cycles to re-do your testing where you
> bind to a IPv6 multicast address. If the Inet6Address that you specify
> to bind has a scope ID (to identify the network) then it should be used.
Hi Alan
Thanks for letting me know.
We tried the old test-code with the Java Version from Debian
experimental and it does indeed work now on linux.
Java on Windows still throws an Exception when trying to bind like this.
Exception in thread "main" java.net.BindException: Cannot assign
requested address: Cannot bind
at
java.base/java.net.DualStackPlainDatagramSocketImpl.socketBind(Native
Method)
at
java.base/java.net.DualStackPlainDatagramSocketImpl.bind0(DualStackPlainDatagramSocketImpl.java:84)
at
java.base/java.net.AbstractPlainDatagramSocketImpl.bind(AbstractPlainDatagramSocketImpl.java:117)
at
java.base/java.net.DatagramSocket.bind(DatagramSocket.java:395)
at
de.nordsys.test.testipv6.MCastTest.main(MCastTest.java:58)
Not sure, if this can be changed or not, but since IPV6_MULTICAST_ALL
(or its windows counterpart) is turned off in windows by default, this
can be solved on our side with different code depending on the OS.
Regards
Andre
>
> -Alan
>
>
More information about the net-dev
mailing list