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

Alex Menkov alexey.menkov at oracle.com
Mon May 13 21:06:12 UTC 2019


Hi Chris, Serguei,

Updated webrev:
http://cr.openjdk.java.net/~amenkov/IPv6/webrev.05/
CSR (approved):
https://bugs.openjdk.java.net/browse/JDK-8223104

Changes (vs. webrev.04):

- setsockopt(IPV6_V6ONLY) was moved from Win-specific code to shared 
setOptionsCommon function (in socketTransport.c)
   the value by default is "true" on Windows and is "false" on Unix, but 
it can be overridden, so lets set it explicitly;
- a comment why the result of setsockopt(IPV6_V6ONLY) is ignored is added;
- added some comments as per Serguei request.

About scopes support - I thought that the functionality is not important 
for debugger, but I can implement it (I'd prefer to do it by separate RFE).

--alex

On 05/11/2019 03:39, Chris Hegarty wrote:
> 
> 
>> 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 serviceability-dev mailing list