PING: Re: RFR: JDK-8184770: JDWP support for IPv6
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Mon May 13 23:33:24 UTC 2019
Hi Alex,
Thank you for the update!
It looks good to me.
Thanks,
Serguei
On 5/13/19 14:06, Alex Menkov wrote:
> 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 net-dev
mailing list