[jboss-cluster-dev] JGroups preference for IPv6

Brian Stansberry brian.stansberry at redhat.com
Fri Apr 9 18:12:21 EDT 2010


This is somewhat related to previous discussion at [1] and related 
JGRP-1152 [2].

Since we've upgraded JBoss AS trunk to JGroups 2.10.0.Alpha3, it will no 
longer start on a machine that supports both IPv4 and IPv6. This is 
because we don't specify java.net.preferIPv4Stack in our startup 
scripts, so Util.getIpStackType() returns StackType.IPv6. But we 
configure IPv4 multicast addresses by default so the JGRP-1152 check 
fails the startup.

Since we're specifying IPv4 addresses by default, perhaps our startup 
scripts could set -Djava.net.preferIPv4Stack=true. Jason can comment if 
he likes; it may be necessary although I don't really like it (yet 
another config in an obscure location).

I'm wondering if JGroups can handle this situation more flexibly. I've 
attached an *untested* patch that shows what I was thinking:

1) Add a new StackType.Either which Util.getIpStackType() returns if the 
OS supports both stack types and no java.net.preferXXX property is set.

2) Configurator.setupProtocolStack() recognizes StackType.Either and 
when it's analyzing the InetAddresses it's seeing, it uses the first one 
it sees to switch to either StackType.IPv4 or StackType.IPv6. So in this 
case the users choice of addresses controls the behavior.

3) Thereafter, the normal JGRP-1152 checks apply, so illegal 
inconsistencies are caught and rejected.

I checked for other uses of Util.getIpStackType() and tweaked the one 
that needed it to deal with a return value of StackType.Either. I 
haven't checked *all* uses of StackType though; wanted to get some 
feedback first.


-- 
Brian Stansberry
Lead, AS Clustering
JBoss by Red Hat


[1] 
http://old.nabble.com/Protocol-stack-issue-on-dual-stack-%28IPv4-and-v6%29-machines-td27544685.html

[2] https://jira.jboss.org/jira/browse/JGRP-1152
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: StackType.Either.patch
Url: http://lists.jboss.org/pipermail/jboss-cluster-dev/attachments/20100409/acd2869b/attachment.pl 


More information about the jboss-cluster-dev mailing list