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
