IPv6: Check startipv6, endipv6 and ip6Gateway with ip range

Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/c2e457c2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c2e457c2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c2e457c2

Branch: refs/heads/network-refactor
Commit: c2e457c2bae84741702ba8c3ee454807badd3926
Parents: 41a815e
Author: Sheng Yang <[email protected]>
Authored: Wed Jan 30 22:13:46 2013 -0800
Committer: Sheng Yang <[email protected]>
Committed: Mon Feb 4 15:33:03 2013 -0800

----------------------------------------------------------------------
 .../src/com/cloud/network/NetworkServiceImpl.java  |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c2e457c2/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java 
b/server/src/com/cloud/network/NetworkServiceImpl.java
index 1e3c9eb..7c8bab8 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -825,6 +825,15 @@ public class NetworkServiceImpl implements  
NetworkService, Manager {
                if (!NetUtils.isValidIp6Cidr(ip6Cidr)) {
                        throw new InvalidParameterValueException("Invalid 
ip6cidr");
                }
+               if (!NetUtils.isIp6InRange(startIPv6, ip6Cidr)) {
+                       throw new InvalidParameterValueException("startIPv6 is 
not in ip6cidr indicated network range!");
+               }
+               if (!NetUtils.isIp6InRange(endIPv6, ip6Cidr)) {
+                       throw new InvalidParameterValueException("endIPv6 is 
not in ip6cidr indicated network range!");
+               }
+               if (!NetUtils.isIp6InRange(ip6Gateway, ip6Cidr)) {
+                       throw new InvalidParameterValueException("ip6Gateway is 
not in ip6cidr indicated network range!");
+               }
                
                int cidrSize = NetUtils.getIp6CidrSize(ip6Cidr);
                // Ipv6 cidr limit should be at least /64

Reply via email to