7060243: (dc) Multicasting tests fail on Windows XP if IPv6 is enabled
Reviewed-by: alanb
Contributed-by: kurchi.subhra.hazra@oracle.com
--- a/jdk/test/java/nio/channels/DatagramChannel/NetworkConfiguration.java Fri Aug 26 10:47:09 2011 +0100
+++ b/jdk/test/java/nio/channels/DatagramChannel/NetworkConfiguration.java Fri Aug 26 22:24:12 2011 +0100
@@ -57,11 +57,22 @@
return ip6Interfaces.get(nif);
}
+ // IPv6 not supported for Windows XP/Server 2003
+ static boolean isIPv6Supported() {
+ if (System.getProperty("os.name").startsWith("Windows")) {
+ String ver = System.getProperty("os.version");
+ int major = Integer.parseInt(ver.split("\\.")[0]);
+ return (major >= 6);
+ }
+ return true;
+ }
+
static NetworkConfiguration probe() throws IOException {
Map<NetworkInterface,List<InetAddress>> ip4Interfaces =
new HashMap<NetworkInterface,List<InetAddress>>();
Map<NetworkInterface,List<InetAddress>> ip6Interfaces =
new HashMap<NetworkInterface,List<InetAddress>>();
+ boolean isIPv6Supported = isIPv6Supported();
// find the interfaces that support IPv4 and IPv6
List<NetworkInterface> nifs = Collections
@@ -81,7 +92,7 @@
}
list.add(addr);
ip4Interfaces.put(nif, list);
- } else if (addr instanceof Inet6Address) {
+ } else if (isIPv6Supported && (addr instanceof Inet6Address)) {
List<InetAddress> list = ip6Interfaces.get(nif);
if (list == null) {
list = new LinkedList<InetAddress>();