an observation on IPv4_supported and IPV6_supported for your consideration

<BIKESHED>

 both, IPv4_support and IPv6_support use socket creation in the appropriate AF 
domain as a
a verification of support, but the v6 version also checks that there is a set of
address binding or ipv6 address configuration by accessing /proc/net/if_inet6

afaik there is no equivalent /proc/net/if_inet or if_inet4, thus the ipv4 
version more
liberal in its deliberation.

as such, it is possible that for IPv4 the support is available but not yet 
configured,
but that has no impact on availability.
For IPv6 that the support is enabled but not yet configured and that will 
impact the
availability evaluation.

Implicit in this is the /proc/net/if_inet6 considered absolutely necessary ?

this has at times been the cause of spurious intermittent test failures if my 
memory is correct.

Another consideration is that if an application starts when IPv6 has yet to be 
configured properly,
it will most likely lead to the application requiring a restart after the IPv6 
to access IPv6 functionality


</BIKESHED>

regards
Mark

________________________________
From: net-dev <net-dev-boun...@openjdk.java.net> on behalf of Daniel Fuchs 
<daniel.fu...@oracle.com>
Sent: Wednesday 24 April 2019 10:40
To: Arthur Eubanks; Chris Hegarty
Cc: OpenJDK Network Dev list
Subject: Re: [ipv6] Re: [RFR]: 8222562: IPv6 only systems fail on 
setsockopt(IPV6_V6ONLY, 0)

Hi Arthur,

The jdk.changeset file in your webrev looks completely wrong.
http://cr.openjdk.java.net/~aeubanks/ipv6setsockopt/webrev.02/jdk.changeset
I assume it's just garbage and we should ignore it.
Can you confirm?

WRT to the individual files changes listed at
http://cr.openjdk.java.net/~aeubanks/ipv6setsockopt/webrev.02/index.html

In unix/native/libnet/net_util_md.c ipv4_supported():

I was wondering if we should be more selective about
what kind of errors we should consider meaning that
IPv4 is not available. But given that this method
executes in OnLoad and that there is a precedent with
ipv6_supported() I believe that what you have is fine.

The rest looks very reasonable to me.

Could you try to fix the jdk.changeset in the webrev so that we
could try to import and test your proposed changes?

best regards,

-- daniel

On 23/04/2019 16:54, Arthur Eubanks wrote:
>     I believe that `DONT_ENABLE_IPV4`is not strictly required. Maybe just
>     drop it?  Is it an initial attempt to support an IPv6-only JDK build?
>     If so, then maybe we separate out that requirement.
>
> It was in the IPv6 code right below so I just copied it in case we
> wanted an IPv6-only build at some point. But yes that can be in a
> separate change. Removed.
> New webrev:
> http://cr.openjdk.java.net/~aeubanks/ipv6setsockopt/webrev.02/index.html

Reply via email to