[
https://issues.jboss.org/browse/JGRP-2343?page=com.atlassian.jira.plugin....
]
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)