JEP draft: Improve IPv6 support

OwnerArthur Eubanks
TypeFeature
ScopeJDK
StatusDraft
Componentcore-libs / java.net
EffortM
DurationM
Created2017/04/20 20:18
Updated2019/04/01 16:33
Issue8179037

Summary

Improve support for systems using IPv6. The JDK should support systems using any combination or preference for IPv4 and IPv6. Testing tools should be written to help simulate systems configured with such diverse combinations. APIs and tests that currently assume the existence of IPv4 or assume there is only one protocol (or only one IP address) should be fixed, replaced or deprecated.

Goals

We are currently (2017) in the middle of a 50 year transition from IPv4 to IPv6. During that time there may be 4 combinations of IPv4 or IPv6 only present, or both present with one preferred. All should be fully supported. In addition, IPv6 has more features than IPv4, notably

RFC 5952 A Recommendation for IPv6 Address Text Representation

which introduces ambiguity into IP addresses represented as strings.

Currently, many openjdk tests fail when run in an environment where IPv4 is non-existent, notably because 127.0.0.1 is no longer a valid IP address for the local host. All tests should pass, and hopefully various organizations will do regular testing in such environments.