CLOUDSTACK-7536 user vm can get a gateway ip when gateway ip is a part of the guest ip range.
Signed-off-by: Jayapal <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6967c6c2 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6967c6c2 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6967c6c2 Branch: refs/heads/master Commit: 6967c6c229d0153bae6fd87e0d87d6669518df29 Parents: 3b442ac Author: Bharat Kumar <[email protected]> Authored: Wed Sep 24 15:01:13 2014 +0530 Committer: Jayapal <[email protected]> Committed: Thu Oct 16 09:37:42 2014 +0530 ---------------------------------------------------------------------- .../src/com/cloud/configuration/ConfigurationManagerImpl.java | 5 +++++ 1 file changed, 5 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6967c6c2/server/src/com/cloud/configuration/ConfigurationManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index eca9080..7dac143 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -3442,6 +3442,11 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati if (endIP != null && !NetUtils.sameSubnet(endIP, vlanGateway, vlanNetmask)) { throw new InvalidParameterValueException("Please ensure that your end IP is in the same subnet as your IP range's gateway, as per the IP range's netmask."); } + // check if the gatewayip is the part of the ip range being added. + if (NetUtils.ipRangesOverlap(startIP, endIP, vlanGateway, vlanGateway)) { + throw new InvalidParameterValueException( + "The gateway ip should not be the part of the ip range being added."); + } } private void checkConflictsWithPortableIpRange(long zoneId, String vlanId, String vlanGateway, String vlanNetmask, String startIP, String endIP) {
