[RFR]: 8222562: IPv6 only systems fail on setsockopt(IPV6_V6ONLY, 0)
Alan Bateman
Alan.Bateman at oracle.com
Wed Apr 17 06:54:52 UTC 2019
On 16/04/2019 22:34, Arthur Eubanks wrote:
> Hi,
>
> Copied from the bug https://bugs.openjdk.java.net/browse/JDK-8222562:
> Some of the networking code tries to support dual socket support.
> However, it doesn't work with IPv6 only systems.
>
> setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, 0) returns a failure with
> errno EAFNOSUPPORT, and then the networking code bails. It should not
> bail when it sees that trying to set IPV6_V6ONLY fails.
>
> webrev:
> http://cr.openjdk.java.net/~aeubanks/ipv6setsockopt/webrev.00/index.html
>
> One thing to note is that similar code exists in the Windows part of
> the networking code (e.g.
> java.base/windows/native/libnet/PlainSocketImpl.c), but I don't know
> how to test Windows code so I'm only touching the Unix-specific part.
>
This code is compiled on other Unix-like ports too so I think we should
at least try to see if they also return EAFNOSUPPORT when configured for
IPv6-only.
-Alan
More information about the net-dev
mailing list