-
Bug
-
Resolution: Fixed
-
P4
-
13
-
b25
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8226120 | 14 | Michael McMahon | P4 | Resolved | Fixed | team |
JDK-8274419 | 11.0.14 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
JDK-8269385 | 11.0.13-oracle | Thejasvi Voniadka | P4 | Resolved | Fixed | b01 |
There is a lot of OS specific native code (mostly Linux) around determining which network interface to use when binding/connecting sockets to link-local (LL) IPv6 addresses.
Most of this code can be removed such that:
1. when binding/connecting to a local LL address, a common Java level implementation can check local link-local addresses and supply the scope-id automatically.
2. when connecting to a non local LL address, we can just require the scope-id to be set explicitly, like most native applications. Link-local addresses can sometimes, but not always be determined from routing tables, but it is more reliable to require them to be set by the caller.
This change affects NIO as well classic sockets and fixes a problem on macos where channels could not bind to local link-local addresses without the scope-id being set explicitly.
Most of this code can be removed such that:
1. when binding/connecting to a local LL address, a common Java level implementation can check local link-local addresses and supply the scope-id automatically.
2. when connecting to a non local LL address, we can just require the scope-id to be set explicitly, like most native applications. Link-local addresses can sometimes, but not always be determined from routing tables, but it is more reliable to require them to be set by the caller.
This change affects NIO as well classic sockets and fixes a problem on macos where channels could not bind to local link-local addresses without the scope-id being set explicitly.
- backported by
-
JDK-8226120 cleanup of IPv6 scope-id handling
- Resolved
-
JDK-8269385 cleanup of IPv6 scope-id handling
- Resolved
-
JDK-8274419 cleanup of IPv6 scope-id handling
- Resolved
- relates to
-
JDK-8221481 Reimplement the Legacy Socket API
- Resolved
(1 links to)