[jboss-jira] [JBoss JIRA] (JGRP-2343) Change in IPv4 versus IPv6 picking algorithm
Bela Ban (Jira)
issues at jboss.org
Wed May 8 03:47:00 EDT 2019
[ https://issues.jboss.org/browse/JGRP-2343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13730778#comment-13730778 ]
Bela Ban commented on JGRP-2343:
--------------------------------
This is the new algorithm:
h4. Only IPv4 is available
* IPv4 addresses are created by default (e.g. by {{InetAddress.getByName()}}, or {{site_local}})
* When an IPv6 address is defined in a configuration, an exception is thrown and the stack will not start
h4. Only IPv6 is available
* IPv6 addresses are created by default
* When an IPv4 address is created, convert it to an IPv6-mapped address (default behavior)
h4. Both IPv4 and IPv6 stacks are available (dual stack)
* If {{java.net.preferIPv4Stack=true}}:
** Assign IPv4 addresses by default
** When an IPv6 address is encountered, throw an exception and don't start the stack
* If {{java.net.preferIPv6Addresses=true}}:
** Assign IPv6 addresses by default
** When an IPv4 address is encountered, convert it to an IPv6-mapped address (default behavior)
* Both {{java.net.preferIPv4Stack}} and {{java.net.preferIPv6Addresses}} are set, or none are set
** What's the JDK's preference? (check!) Try to implement the same preference!
** If we have a single IPv6 address (dotted-decimal or symbolic name resolved to IPv6) in the configuration -> Assign IPv6 addresses
** Otherwise -> use IPv4 addresses
> Change in IPv4 versus IPv6 picking algorithm
> --------------------------------------------
>
> Key: JGRP-2343
> URL: https://issues.jboss.org/browse/JGRP-2343
> Project: JGroups
> Issue Type: Task
> Reporter: Bela Ban
> Assignee: Bela Ban
> Priority: Major
> Fix For: 4.1.0
>
>
> When https://issues.jboss.org/browse/JGRP-2305 was implemented, IPv4 was favored unless {{java.net.preferIPv6Addresses}} was set.
> However, this makes the following case fail: no {{java.net.preferXXX}} option is set and the configuration contains one or more IPv6 addresses, e.g. {{UDP bind_addr="::1"}}.
> This will fail, as the new algorithm sets the stack type as IPv4 (it works when {{java.net.preferIPv6Addresses}} is set).
> Change:
> * Look at all IP addresses in a configuration
> * If all addresses are IPv6 and the stack type is IPv4 (and IPv6 is available) -> switch to IPv6 as stack type
> * If all addresses are IPv4 and the stack type is IPv6 (and IPv4 is available) -> switch to IPv4 stack type
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list