diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index f225ff39ff1..3bf308b3371 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -640,18 +640,18 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag Map> ipToServices = new HashMap>(); if (publicIps != null && !publicIps.isEmpty()) { - boolean gotSNAT = false; + Set networkSNAT = new HashSet(); for (PublicIp ip : publicIps) { Set services = ipToServices.get(ip); if (services == null) { services = new HashSet(); } if (ip.isSourceNat()) { - if (!gotSNAT) { + if (!networkSNAT.contains(ip.getAssociatedWithNetworkId())) { services.add(Service.SourceNat); - gotSNAT = true; + networkSNAT.add(ip.getAssociatedWithNetworkId()); } else { - throw new CloudRuntimeException("Multiply generic source NAT IPs provided!"); + throw new CloudRuntimeException("Multiply generic source NAT IPs provided for network " + ip.getAssociatedWithNetworkId()); } } if (ip.isOneToOneNat()) {