[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