From b8d9513309b7760b826adbd125f4376bcd80758a Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Tue, 26 Apr 2011 17:52:23 -0700 Subject: [PATCH] bug 9605: exclude virtual interfaces when searching for cidrs --- .../secondary/SecondaryStorageManagerImpl.java | 1 - utils/src/com/cloud/utils/net/NetUtils.java | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index b0ada72dff6..7204b2521d6 100644 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -985,7 +985,6 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V buf.append(" eth").append(deviceId).append("mask=").append(nic.getNetmask()); } - buf.append(" eth").append(deviceId).append("mask=").append(nic.getNetmask()); if (nic.isDefaultNic()) { buf.append(" gateway=").append(nic.getGateway()); } diff --git a/utils/src/com/cloud/utils/net/NetUtils.java b/utils/src/com/cloud/utils/net/NetUtils.java index 6ae00a538cf..ba153c45cc3 100755 --- a/utils/src/com/cloud/utils/net/NetUtils.java +++ b/utils/src/com/cloud/utils/net/NetUtils.java @@ -116,14 +116,16 @@ public class NetUtils { List cidrList = new ArrayList(); try { for(NetworkInterface ifc : IteratorUtil.enumerationAsIterable(NetworkInterface.getNetworkInterfaces())) { - for (InterfaceAddress address : ifc.getInterfaceAddresses()) { - InetAddress addr = address.getAddress(); - int prefixLength = address.getNetworkPrefixLength(); - if(prefixLength < 32 && prefixLength > 0) { - String ip = ipFromInetAddress(addr); - cidrList.add(ipAndNetMaskToCidr(ip, getCidrNetmask(prefixLength))); - } - } + if(ifc.isUp() && !ifc.isVirtual() && !ifc.isLoopback()) { + for (InterfaceAddress address : ifc.getInterfaceAddresses()) { + InetAddress addr = address.getAddress(); + int prefixLength = address.getNetworkPrefixLength(); + if(prefixLength < 32 && prefixLength > 0) { + String ip = ipFromInetAddress(addr); + cidrList.add(ipAndNetMaskToCidr(ip, getCidrNetmask(prefixLength))); + } + } + } } } catch(SocketException e) { s_logger.warn("UnknownHostException in getLocalCidrs().", e);