Integrated: 8293842: IPv6-only systems throws UnsupportedOperationException for several socket/TCP options
Man Cao
manc at openjdk.org
Thu Sep 15 22:10:48 UTC 2022
On Thu, 15 Sep 2022 07:25:04 GMT, Man Cao <manc at openjdk.org> wrote:
> Hi all,
>
> Could anyone review this bug fix for ipv6-only system? See https://bugs.openjdk.org/browse/JDK-8293842 for detailed description of this bug.
>
> Ideally, the `socket(PF_INET6, ...)` or `socket(PF_INET, ...)` call should depend on the value of `ipv6_available()`. However, this is only easy to do in net_util_md.c. Without checking `ipv6_available()` in <Linux|MacOSX>SocketOptions.c, I'm not sure if it is possible for ipv6 and ipv4 sockets to differ in the options they support.
>
> For example, for a system with both ipv6 and ipv4, if ipv6 supports TCP_KEEPIDLE but ipv4 does not, then there might be a problem to always report TCP_KEEPIDLE as supported.
>
> I noticed https://bugs.openjdk.org/browse/JDK-8290349 added "isIPv6" parameter to a few functions in <Linux|MacOSX>SocketOptions.c. However, it is not applicable to the `socketOptionSupported()` function. This change is more similar to the `Java_jdk_net_MacOSXSocketOptions_ipDontFragmentSupported0()` function.
>
> -Man
This pull request has now been integrated.
Changeset: 9a40b76a
Author: Man Cao <manc at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/9a40b76ac594f5bd80e74ee906af615f74f9a41a
Stats: 25 lines in 5 files changed: 16 ins; 0 del; 9 mod
8293842: IPv6-only systems throws UnsupportedOperationException for several socket/TCP options
Co-authored-by: Martin Buchholz <martin at openjdk.org>
Reviewed-by: djelinski, dfuchs
-------------
PR: https://git.openjdk.org/jdk/pull/10278
More information about the net-dev
mailing list