You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ja...@apache.org on 2013/12/27 07:07:05 UTC
git commit: updated refs/heads/master to 07de751
Updated Branches:
refs/heads/master ec8610f75 -> 07de75191
Revert "CLOUDSTACK-4622:If a VM from guest network is added to network tier of VPC then IP reservation allows the CIDR to be a superset of Network CIDR for that VPC tier"
Reverting this commit as it is breaking vpc deployment, CLOUDSTACK-5652
This reverts commit ab4f095c68d4a4b4fb354b3d95096b193706987d.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/07de7519
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/07de7519
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/07de7519
Branch: refs/heads/master
Commit: 07de75191c487de980be795b202b0a8d8bbda4d6
Parents: ec8610f
Author: Jayapal <ja...@apache.org>
Authored: Fri Dec 27 11:13:56 2013 +0530
Committer: Jayapal <ja...@apache.org>
Committed: Fri Dec 27 11:15:33 2013 +0530
----------------------------------------------------------------------
utils/src/com/cloud/utils/net/NetUtils.java | 23 ++------------------
.../test/com/cloud/utils/net/NetUtilsTest.java | 15 -------------
2 files changed, 2 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/07de7519/utils/src/com/cloud/utils/net/NetUtils.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/net/NetUtils.java b/utils/src/com/cloud/utils/net/NetUtils.java
index 2972a43..f6f6285 100755
--- a/utils/src/com/cloud/utils/net/NetUtils.java
+++ b/utils/src/com/cloud/utils/net/NetUtils.java
@@ -837,32 +837,13 @@ public class NetUtils {
}
public static boolean isNetworkAWithinNetworkB(String cidrA, String cidrB) {
- // This utility returns true if IP range of cidrA is same or lies completely in cidrB
- // Returns true if networkA is same as networkB or networkA is a subset of networkB
Long[] cidrALong = cidrToLong(cidrA);
Long[] cidrBLong = cidrToLong(cidrB);
if (cidrALong == null || cidrBLong == null) {
return false;
}
- if (isSameIpRange(cidrA, cidrB)) {
- return true;
- }
- String[] cidrPairFirst = cidrA.split("\\/");
- String[] cidrPairSecond = cidrB.split("\\/");
-
- Long networkSizeFirst = Long.valueOf(cidrPairFirst[1]);
- Long networkSizeSecond = Long.valueOf(cidrPairSecond[1]);
- String ipRangeFirst [] = NetUtils.getIpRangeFromCidr(cidrPairFirst[0], networkSizeFirst);
- String ipRangeSecond [] = NetUtils.getIpRangeFromCidr(cidrPairFirst[0], networkSizeSecond);
-
- long startIpFirst = NetUtils.ip2Long(ipRangeFirst[0]);
- long endIpFirst = NetUtils.ip2Long(ipRangeFirst[1]);
- long startIpSecond = NetUtils.ip2Long(ipRangeSecond[0]);
- long endIpSecond = NetUtils.ip2Long(ipRangeSecond[1]);
-
- if((startIpFirst >= startIpSecond) && (endIpFirst <= endIpSecond))
- return true;
- return false;
+ long shift = 32 - cidrBLong[1];
+ return ((cidrALong[0] >> shift) == (cidrBLong[0] >> shift));
}
public static Long[] cidrToLong(String cidr) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/07de7519/utils/test/com/cloud/utils/net/NetUtilsTest.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/net/NetUtilsTest.java b/utils/test/com/cloud/utils/net/NetUtilsTest.java
index 192ff6d..c7407bf 100644
--- a/utils/test/com/cloud/utils/net/NetUtilsTest.java
+++ b/utils/test/com/cloud/utils/net/NetUtilsTest.java
@@ -174,19 +174,4 @@ public class NetUtilsTest extends TestCase {
public void testGetLocalIPString() {
assertNotNull(NetUtils.getLocalIPString());
}
-
- public void testSubnet() {
- //Test to check if a cidr is a part of another cidr
- //Test 2 same cidrs
- assertTrue(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/25", "10.1.1.0/25"));
- //Tests when cidrA is smaller than cidrB
- assertTrue(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/26", "10.1.1.0/25"));
- assertTrue(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/25", "10.1.1.0/24"));
- assertTrue(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/23", "10.1.1.0/22"));
- assertTrue(NetUtils.isNetworkAWithinNetworkB("192.168.0.0/16" , "192.168.0.0/15"));
- //Tests when cidrA is larger than cidrB
- assertFalse(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/26", "10.1.1.0/27"));
- assertFalse(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/24", "10.1.1.0/25"));
- assertFalse(NetUtils.isNetworkAWithinNetworkB("10.1.1.0/22", "10.1.1.0/23"));
- }
}