Let's improve IPv6 support

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Let's improve IPv6 support

Martin Buchholz-3
Google cares a lot about IPv6, and not only because Vint Cerf works at Google.

We have some local modifications and some networking expertise and intend to port/contribute that to openjdk10.

Most of this is the work of my colleagues Alexander Smundak and Paul Marks.

We hope we can do most of this work without asking too much of other net-dev engineers, but we will likely need help with porting to non-Linux platforms, running JPRT, and perhaps CCC/JEP process.

We expect to make a large number of commits.  Should there be a JEP to cover this?  Is there a current net-dev engineer who feels they "own" this problem (Chris?)?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Paul Marks
On Fri, Mar 17, 2017 at 11:47 AM, Martin Buchholz <[hidden email]> wrote:

> Google cares a lot about IPv6, and not only because Vint Cerf works at
> Google.
>
> We have some local modifications and some networking expertise and intend to
> port/contribute that to openjdk10.
>
> Most of this is the work of my colleagues Alexander Smundak and Paul Marks.
>
> We hope we can do most of this work without asking too much of other net-dev
> engineers, but we will likely need help with porting to non-Linux platforms,
> running JPRT, and perhaps CCC/JEP process.
>
> We expect to make a large number of commits.  Should there be a JEP to cover
> this?  Is there a current net-dev engineer who feels they "own" this problem
> (Chris?)?

I should point out that the current batch of changes are focused on
support for systems where 127.0.0.1 doesn't exist, which is relatively
straightforward and unexciting.

However, I'm also aware of three "hard problems" that would require
new features, and significant changes to current behavior:
- Address selection: https://bugs.openjdk.java.net/browse/JDK-8170568
- Default IP address formatting ("0:0:0:0:0:0:0:1" vs. RFC 5952)
- Parsing and formatting of host:port strings, e.g. "[::1]:80"
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Let's improve IPv6 support

Langer, Christoph
In reply to this post by Martin Buchholz-3

Hi Martin and colleagues,

 

Sounds good. I’m supporting that and I’m willing to assist with testing/reviewing.

 

But if it comes to larger changes and JEPs/CCCs (or the new CSR), it will need an owner at Oracle… like Chris.

 

Best regards

Christoph

 

From: net-dev [mailto:[hidden email]] On Behalf Of Martin Buchholz
Sent: Freitag, 17. März 2017 19:48
To: net-dev <[hidden email]>; Alexander Smundak <[hidden email]>; Paul Marks <[hidden email]>; Chuck Rasbold <[hidden email]>; Chris Hegarty <[hidden email]>
Subject: Let's improve IPv6 support

 

Google cares a lot about IPv6, and not only because Vint Cerf works at Google.

 

We have some local modifications and some networking expertise and intend to port/contribute that to openjdk10.

 

Most of this is the work of my colleagues Alexander Smundak and Paul Marks.

 

We hope we can do most of this work without asking too much of other net-dev engineers, but we will likely need help with porting to non-Linux platforms, running JPRT, and perhaps CCC/JEP process.

 

We expect to make a large number of commits.  Should there be a JEP to cover this?  Is there a current net-dev engineer who feels they "own" this problem (Chris?)?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Alan Bateman
In reply to this post by Martin Buchholz-3
On 17/03/2017 18:47, Martin Buchholz wrote:

> Google cares a lot about IPv6, and not only because Vint Cerf works at
> Google.
>
> We have some local modifications and some networking expertise and
> intend to port/contribute that to openjdk10.
>
> Most of this is the work of my colleagues Alexander Smundak and Paul
> Marks.
>
> We hope we can do most of this work without asking too much of other
> net-dev engineers, but we will likely need help with porting to
> non-Linux platforms, running JPRT, and perhaps CCC/JEP process.
>
> We expect to make a large number of commits.  Should there be a JEP to
> cover this?  Is there a current net-dev engineer who feels they "own"
> this problem (Chris?)?
Do you expect a significant overhaul that would add new APIs and
re-specify/modernize some of the existing APIs? If so then this seems
significant enough to create a JEP. On the other hand, if this a series
of point patches to address specific issues then it might be best
handled as a linked sequence of issues in JIRA.

As regards the CCC then the proposal is to replace this with a new
"Compatibility & Specification Review" group in OpenJDK [1].

-Alan

[1]
http://mail.openjdk.java.net/pipermail/gb-discuss/2017-January/000320.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Chris Hegarty
Martin,

> On 17/03/2017 18:47, Martin Buchholz wrote:
>
>> Google cares a lot about IPv6, and not only because Vint Cerf works at
>> Google.
>>
>> We have some local modifications and some networking expertise and
>> intend to port/contribute that to openjdk10.
>>
>> Most of this is the work of my colleagues Alexander Smundak and Paul
>> Marks.
>>
>> We hope we can do most of this work without asking too much of other
>> net-dev engineers, but we will likely need help with porting to
>> non-Linux platforms, running JPRT, and perhaps CCC/JEP process.
>>
>> We expect to make a large number of commits.  Should there be a JEP to
>> cover this?  Is there a current net-dev engineer who feels they "own"
>> this problem (Chris?)?

Doing this work under a JEP would give folks a better insight what
Google is planning here. As you know, we have tinkered a lot in this
area, even in 9, but there has not be a concerted effort in recent
times. We are also very interested in making improvements here.

Working on this in a branch of the jdk10/sandbox would facilitate
collaboration, and lighten the process as changes can be flattened
when bringing them into the mainline.

-Chris.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Chris Hegarty
In reply to this post by Paul Marks
On 17/03/17 21:12, Paul Marks wrote:

> On Fri, Mar 17, 2017 at 11:47 AM, Martin Buchholz <[hidden email]> wrote:
>> Google cares a lot about IPv6, and not only because Vint Cerf works at
>> Google.
>>
>> We have some local modifications and some networking expertise and intend to
>> port/contribute that to openjdk10.
>>
>> Most of this is the work of my colleagues Alexander Smundak and Paul Marks.
>>
>> We hope we can do most of this work without asking too much of other net-dev
>> engineers, but we will likely need help with porting to non-Linux platforms,
>> running JPRT, and perhaps CCC/JEP process.
>>
>> We expect to make a large number of commits.  Should there be a JEP to cover
>> this?  Is there a current net-dev engineer who feels they "own" this problem
>> (Chris?)?
>
> I should point out that the current batch of changes are focused on
> support for systems where 127.0.0.1 doesn't exist, which is relatively
> straightforward and unexciting.

Sorry, what does this mean. IPv6-only environment with ::1, or no
loopback mechanism at all?

> However, I'm also aware of three "hard problems" that would require
> new features, and significant changes to current behavior:
> - Address selection: https://bugs.openjdk.java.net/browse/JDK-8170568
> - Default IP address formatting ("0:0:0:0:0:0:0:1" vs. RFC 5952)
> - Parsing and formatting of host:port strings, e.g. "[::1]:80"

While a JEP is not strictly needed to add APIs for such, I think
it would be a really useful to go through the process of writing
this stuff up ( which will likely result in a JEP, if not a
JEP-like document ), since there are others that are interested.

-Chris.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Martin Buchholz-3


On Mon, Mar 20, 2017 at 7:14 AM, Chris Hegarty <[hidden email]> wrote:

I should point out that the current batch of changes are focused on
support for systems where 127.0.0.1 doesn't exist, which is relatively
straightforward and unexciting.

Sorry, what does this mean. IPv6-only environment with ::1, or no
loopback mechanism at all?

A system where 127.0.0.1 does not exist (in fact IPv4 is completely absent), and "localhost" resolves to ::1.

A simple but pervasive change to global replace testing code via:
s/"127.0.0.1"/ InetAddress.getLoopbackAddress().getHostAddress()/g
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Chris Hegarty
On 20/03/17 16:11, Martin Buchholz wrote:

>
>
> On Mon, Mar 20, 2017 at 7:14 AM, Chris Hegarty <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>
>         I should point out that the current batch of changes are focused on
>         support for systems where 127.0.0.1 doesn't exist, which is
>         relatively
>         straightforward and unexciting.
>
>
>     Sorry, what does this mean. IPv6-only environment with ::1, or no
>     loopback mechanism at all?
>
>
> A system where 127.0.0.1 does not exist (in fact IPv4 is completely
> absent), and "localhost" resolves to ::1.

Ok.

> A simple but pervasive change to global replace testing code via:
> s/"127.0.0.1"/ InetAddress.getLoopbackAddress().getHostAddress()/g

Right. This should be fine, but will likely show up mis-configurations
on some of our systems. I'd be happy to help shake out any issues, once
there is a patch available.

-Chris.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Martin Buchholz-3


On Mon, Mar 20, 2017 at 2:46 PM, Alexander Smundak <[hidden email]> wrote:
Should this be a patch for JDK9 or JDK10?

It's too late for jdk9 initial release, although we might backport to jdk9.1. 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Let's improve IPv6 support

Jun-ya Kato
In reply to this post by Paul Marks

> However, I'm also aware of three "hard problems" that would require
> new features, and significant changes to current behavior:
> - Address selection: https://bugs.openjdk.java.net/browse/JDK-8170568

JDK-8170568 is not IPv6 specific problem.

Even if target-host has multiple IP addresses,
java.net.Socket("target-host", port) constructor trys to connect to
the only first one.

Service provider often assigns IP addresses on his edge nodes for
load balancing and reliabilty.  For example, I could easily find
that "amazon.com" DNS record has six IPv4 addresses.

  Name: amazon.com
  Address: 54.239.17.6
  Name: amazon.com
  Address: 54.239.17.7
  Name: amazon.com
  Address: 54.239.25.192
  Name: amazon.com
  Address: 54.239.25.200
  Name: amazon.com
  Address: 54.239.25.208
  Name: amazon.com
  Address: 54.239.26.128



Most common Linux/UNIX network commands such as telnet, ssh, or netcat
implement multiple addresses manuplation that trys all possible
addresses until connetion is established.  This behavior is useful
for java.net.Socket(String hostname, int port) constructor.  I also think
that RFC6555 is more better solution.

--
J. Kato
[hidden email]






From: Paul Marks <[hidden email]>
Subject: Re: Let's improve IPv6 support
Date: Mon, 27 Mar 2017 15:34:10 +0900 (JST)

> On Fri, Mar 17, 2017 at 11:47 AM, Martin Buchholz <[hidden email]> wrote:
>> Google cares a lot about IPv6, and not only because Vint Cerf works at
>> Google.
>>
>> We have some local modifications and some networking expertise and intend to
>> port/contribute that to openjdk10.
>>
>> Most of this is the work of my colleagues Alexander Smundak and Paul Marks.
>>
>> We hope we can do most of this work without asking too much of other net-dev
>> engineers, but we will likely need help with porting to non-Linux platforms,
>> running JPRT, and perhaps CCC/JEP process.
>>
>> We expect to make a large number of commits.  Should there be a JEP to cover
>> this?  Is there a current net-dev engineer who feels they "own" this problem
>> (Chris?)?
>
> I should point out that the current batch of changes are focused on
> support for systems where 127.0.0.1 doesn't exist, which is relatively
> straightforward and unexciting.
>
> However, I'm also aware of three "hard problems" that would require
> new features, and significant changes to current behavior:
> - Address selection: https://bugs.openjdk.java.net/browse/JDK-8170568
> - Default IP address formatting ("0:0:0:0:0:0:0:1" vs. RFC 5952)
> - Parsing and formatting of host:port strings, e.g. "[::1]:80"
>
>
Loading...