PING: Re: RFR: JDK-8184770: JDWP support for IPv6

Chris Hegarty chris.hegarty at oracle.com
Sat May 11 10:39:42 UTC 2019



> On 7 May 2019, at 19:40, serguei.spitsyn at oracle.com wrote:
> 
> Hi guys,
> 
> We need a couple of partial reviews for this enhancement:
> 
>  - From the net-dev to check IPv6-addresses related part.
>    It does not need to be a thorough review.
>    We need another pair of eyes to check for obvious typos or misses.
>    Included Chris H. to mailing list in hope for some assistance.
>    (Chris, we need some help to find one of the IPv6 experts.)
> 
>  - From the serviceability-dev to check if compatibility
>    is not broken and nothing is missed.
>    This includes part of code that is not directly involved
>    into manipulations with the IPv4/IPv6 addresses.
>    The related spec update is tracked by a sub-task:
>      https://bugs.openjdk.java.net/browse/JDK-8221707
> 
> 
> Related CSR: 
> https://bugs.openjdk.java.net/browse/JDK-8223104 
> 
> The latest webrev: 
> http://cr.openjdk.java.net/~amenkov/IPv6/webrev.04/


src/jdk.jdwp.agent/windows/native/libdt_socket/socket_md.c

   223     if (domain == AF_INET6) {
   224         int off = 0;
   225         // make the socket a dual mode socket
   226         setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&off, sizeof(off));
   227     }
   228   }

  This code is fine, but maybe you want to expand the comment to
  mention that the setsockopt may fail if IPv4 is not supported. And
  that’s OK.

  I cannot find a similar setting of IPV6_V6ONLY for the unix 
  equivalent. Why not, or where can it be found?

src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c

  There is a lot of native code here, I skimmed over it, seems
  reasonable. There is an obvious lack of any reference to IPv6
  scopes. Can the address given to bind be an IPv6 link-local?
  If so, then the scope will need to be parsed / set appropriately.
  ( seems that the new test skips all scoped addresses? )

-Chris.



More information about the net-dev mailing list