You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/07/03 02:44:32 UTC

[2/7] git commit: VPC: corrected the name for PublicIp interface (mistakenly renamed it as a part of previous checkin)

VPC: corrected the name for PublicIp interface (mistakenly renamed it as a part of previous checkin)

Conflicts:

	server/test/com/cloud/network/MockNetworkManagerImpl.java


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

Branch: refs/heads/vpc
Commit: 580261119c573410906877246550ed2bcce19dd1
Parents: 5d5b584
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Mon Jul 2 17:31:47 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Mon Jul 2 17:44:54 2012 -0700

----------------------------------------------------------------------
 .../ExternalLoadBalancerDeviceManagerImpl.java     |    4 +-
 server/src/com/cloud/network/NetworkManager.java   |   12 +-
 .../src/com/cloud/network/NetworkManagerImpl.java  |  118 +++++-----
 server/src/com/cloud/network/addr/PrivateIp.java   |  199 ---------------
 server/src/com/cloud/network/addr/PublicIp.java    |  199 +++++++++++++++
 .../network/guru/DirectPodBasedNetworkGuru.java    |    4 +-
 .../com/cloud/network/guru/PublicNetworkGuru.java  |    4 +-
 .../network/lb/ElasticLoadBalancerManagerImpl.java |    8 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   24 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |   22 +-
 .../com/cloud/network/MockNetworkManagerImpl.java  |   45 ++--
 11 files changed, 320 insertions(+), 319 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
index 044d6aa..409970d 100644
--- a/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
@@ -62,7 +62,7 @@ import com.cloud.network.ExternalLoadBalancerDeviceVO.LBDeviceState;
 import com.cloud.network.ExternalNetworkDeviceManager.NetworkDevice;
 import com.cloud.network.Network.Service;
 import com.cloud.network.Networks.TrafficType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.ExternalFirewallDeviceDao;
 import com.cloud.network.dao.ExternalLoadBalancerDeviceDao;
 import com.cloud.network.dao.IPAddressDao;
@@ -477,7 +477,7 @@ public abstract class ExternalLoadBalancerDeviceManagerImpl extends AdapterBase
 
                             // acquire a public IP to associate with lb appliance (used as subnet IP to make the
 // appliance part of private network)
-                            PrivateIp publicIp = _networkMgr.assignPublicIpAddress(guestConfig.getDataCenterId(), null, _accountMgr.getSystemAccount(), VlanType.VirtualNetwork, null, null, false);
+                            PublicIp publicIp = _networkMgr.assignPublicIpAddress(guestConfig.getDataCenterId(), null, _accountMgr.getSystemAccount(), VlanType.VirtualNetwork, null, null, false);
                             String publicIPNetmask = publicIp.getVlanNetmask();
                             String publicIPgateway = publicIp.getVlanGateway();
                             String publicIPVlanTag = publicIp.getVlanTag();

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/NetworkManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManager.java b/server/src/com/cloud/network/NetworkManager.java
index 679865f..5cc0873 100755
--- a/server/src/com/cloud/network/NetworkManager.java
+++ b/server/src/com/cloud/network/NetworkManager.java
@@ -37,7 +37,7 @@ import com.cloud.network.Network.Capability;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.Network.Service;
 import com.cloud.network.Networks.TrafficType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.element.NetworkElement;
 import com.cloud.network.element.RemoteAccessVPNServiceProvider;
 import com.cloud.network.element.Site2SiteVpnServiceProvider;
@@ -80,7 +80,7 @@ public interface NetworkManager extends NetworkService {
      * @throws InsufficientAddressCapacityException
      */
 
-    PrivateIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, 
+    PublicIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, 
             boolean isSystem) throws InsufficientAddressCapacityException;
 
 
@@ -266,9 +266,9 @@ public interface NetworkManager extends NetworkService {
 
     boolean areServicesEnabledInZone(long zoneId, NetworkOffering offering, List<Service> services);
 
-    public Map<PrivateIp, Set<Service>> getIpToServices(List<PrivateIp> publicIps, boolean rulesRevoked, boolean includingFirewall);
+    public Map<PublicIp, Set<Service>> getIpToServices(List<PublicIp> publicIps, boolean rulesRevoked, boolean includingFirewall);
 
-    public Map<Provider, ArrayList<PrivateIp>> getProviderToIpList(Network network, Map<PrivateIp, Set<Service>> ipToServices);
+    public Map<Provider, ArrayList<PublicIp>> getProviderToIpList(Network network, Map<PublicIp, Set<Service>> ipToServices);
 
     public boolean checkIpForService(IPAddressVO ip, Service service);
 
@@ -314,7 +314,7 @@ public interface NetworkManager extends NetworkService {
      * @throws ConcurrentOperationException 
      * @throws InsufficientAddressCapacityException 
      */
-    PrivateIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) throws InsufficientAddressCapacityException, ConcurrentOperationException;
+    PublicIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) throws InsufficientAddressCapacityException, ConcurrentOperationException;
 
 
     /**
@@ -324,7 +324,7 @@ public interface NetworkManager extends NetworkService {
      * @throws ConcurrentOperationException 
      * @throws InsufficientAddressCapacityException 
      */
-    PrivateIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException;
+    PublicIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException;
 
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java
index 6b59aa5..8d5f5bd 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -110,7 +110,7 @@ import com.cloud.network.Networks.IsolationType;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.PhysicalNetwork.BroadcastDomainRange;
 import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.FirewallRulesDao;
 import com.cloud.network.dao.IPAddressDao;
 import com.cloud.network.dao.LoadBalancerDao;
@@ -364,12 +364,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     }
 
     @Override
-    public PrivateIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, boolean isSystem) throws InsufficientAddressCapacityException {
+    public PublicIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, boolean isSystem) throws InsufficientAddressCapacityException {
         return fetchNewPublicIp(dcId, podId, null, owner, type, networkId, false, true, requestedIp, isSystem, null);
     }
 
     @DB
-    public PrivateIp fetchNewPublicIp(long dcId, Long podId, Long vlanDbId, Account owner, VlanType vlanUse, 
+    public PublicIp fetchNewPublicIp(long dcId, Long podId, Long vlanDbId, Account owner, VlanType vlanUse, 
             Long guestNetworkId, boolean sourceNat, boolean assign, String requestedIp, boolean isSystem, Long vpcId)
             throws InsufficientAddressCapacityException {
         StringBuilder errorMessage = new StringBuilder("Unable to get ip adress in ");
@@ -456,7 +456,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
 
         long macAddress = NetUtils.createSequenceBasedMacAddress(addr.getMacAddress());
 
-        return new PrivateIp(addr, _vlanDao.findById(addr.getVlanId()), macAddress);
+        return new PublicIp(addr, _vlanDao.findById(addr.getVlanId()), macAddress);
     }
 
     @DB
@@ -494,15 +494,15 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     
     
     @Override
-    public PrivateIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException {
+    public PublicIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException {
         long dcId = vpc.getZoneId();
         
         IPAddressVO sourceNatIp = getExistingSourceNat(owner.getId(), null, vpc.getId());
         
-        PrivateIp ipToReturn = null;
+        PublicIp ipToReturn = null;
         
         if (sourceNatIp != null) {
-            ipToReturn = new PrivateIp(sourceNatIp, _vlanDao.findById(sourceNatIp.getVlanId()), 
+            ipToReturn = new PublicIp(sourceNatIp, _vlanDao.findById(sourceNatIp.getVlanId()), 
                     NetUtils.createSequenceBasedMacAddress(sourceNatIp.getMacAddress()));
         } else {
             ipToReturn = assignSourceNatIpAddress(owner, null, vpc.getId(), dcId);
@@ -512,7 +512,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     } 
     
     @Override
-    public PrivateIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) 
+    public PublicIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) 
             throws InsufficientAddressCapacityException, ConcurrentOperationException {
         assert (guestNetwork.getTrafficType() != null) : "You're asking for a source nat but your network " +
         		"can't participate in source nat.  What do you have to say for yourself?";
@@ -520,9 +520,9 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         
         IPAddressVO sourceNatIp = getExistingSourceNat(owner.getId(), guestNetwork.getId(), guestNetwork.getVpcId());
                 
-        PrivateIp ipToReturn = null;
+        PublicIp ipToReturn = null;
         if (sourceNatIp != null) {
-            ipToReturn = new PrivateIp(sourceNatIp, _vlanDao.findById(sourceNatIp.getVlanId()), 
+            ipToReturn = new PublicIp(sourceNatIp, _vlanDao.findById(sourceNatIp.getVlanId()), 
                     NetUtils.createSequenceBasedMacAddress(sourceNatIp.getMacAddress()));
         } else {
             ipToReturn = assignSourceNatIpAddress(owner, guestNetwork.getId(), null, dcId);
@@ -532,7 +532,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     }
 
     @DB
-    public PrivateIp assignSourceNatIpAddress(Account owner, Long guestNtwkId, Long vpcId, long dcId) 
+    public PublicIp assignSourceNatIpAddress(Account owner, Long guestNtwkId, Long vpcId, long dcId) 
             throws ConcurrentOperationException, InsufficientAddressCapacityException {
 
         long ownerId = owner.getId();
@@ -545,7 +545,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
             throw new AccountLimitException("Maximum number of public IP addresses for account: " + owner.getAccountName() + " has been exceeded.");
         }
 
-        PrivateIp ip = null;
+        PublicIp ip = null;
         Transaction txn = Transaction.currentTxn();
         try {
             txn.start();
@@ -636,10 +636,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     @Override
     public boolean applyIpAssociations(Network network, boolean continueOnError) throws ResourceUnavailableException {
         List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(network.getId(), null);
-        List<PrivateIp> publicIps = new ArrayList<PrivateIp>();
+        List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), 
+                PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), 
                         NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                 publicIps.add(publicIp);
             }
@@ -698,12 +698,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
 
     /* Get a list of IPs, classify them by service */
     @Override
-    public Map<PrivateIp, Set<Service>> getIpToServices(List<PrivateIp> publicIps, boolean rulesRevoked, boolean includingFirewall) {
-        Map<PrivateIp, Set<Service>> ipToServices = new HashMap<PrivateIp, Set<Service>>();
+    public Map<PublicIp, Set<Service>> getIpToServices(List<PublicIp> publicIps, boolean rulesRevoked, boolean includingFirewall) {
+        Map<PublicIp, Set<Service>> ipToServices = new HashMap<PublicIp, Set<Service>>();
 
         if (publicIps != null && !publicIps.isEmpty()) {
             Set<Long> networkSNAT = new HashSet<Long>();
-            for (PrivateIp ip : publicIps) {
+            for (PublicIp ip : publicIps) {
                 Set<Service> services = ipToServices.get(ip);
                 if (services == null) {
                     services = new HashSet<Service>();
@@ -790,11 +790,11 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         return ipToServices;
     }
 
-    public boolean canIpUsedForNonConserveService(PrivateIp ip, Service service) {
+    public boolean canIpUsedForNonConserveService(PublicIp ip, Service service) {
         // If it's non-conserve mode, then the new ip should not be used by any other services
-        List<PrivateIp> ipList = new ArrayList<PrivateIp>();
+        List<PublicIp> ipList = new ArrayList<PublicIp>();
         ipList.add(ip);
-        Map<PrivateIp, Set<Service>> ipToServices = getIpToServices(ipList, false, false);
+        Map<PublicIp, Set<Service>> ipToServices = getIpToServices(ipList, false, false);
         Set<Service> services = ipToServices.get(ip);
         // Not used currently, safe
         if (services == null || services.isEmpty()) {
@@ -810,9 +810,9 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         return true;
     }
 
-    protected boolean canIpsUsedForNonConserve(List<PrivateIp> publicIps) {
+    protected boolean canIpsUsedForNonConserve(List<PublicIp> publicIps) {
         boolean result = true;
-        for (PrivateIp ip : publicIps) {
+        for (PublicIp ip : publicIps) {
             result = canIpUsedForNonConserveService(ip, null);
             if (!result) {
                 break;
@@ -821,10 +821,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         return result;
     }
 
-    public boolean canIpsUseOffering(List<PrivateIp> publicIps, long offeringId) {
-        Map<PrivateIp, Set<Service>> ipToServices = getIpToServices(publicIps, false, true);
+    public boolean canIpsUseOffering(List<PublicIp> publicIps, long offeringId) {
+        Map<PublicIp, Set<Service>> ipToServices = getIpToServices(publicIps, false, true);
         Map<Service, Set<Provider>> serviceToProviders = getNetworkOfferingServiceProvidersMap(offeringId);
-        for (PrivateIp ip : ipToServices.keySet()) {
+        for (PublicIp ip : ipToServices.keySet()) {
             Set<Service> services = ipToServices.get(ip);
             Provider provider = null;
             for (Service service : services) {
@@ -846,10 +846,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         return true;
     }
 
-    public boolean canIpUsedForService(PrivateIp publicIp, Service service) {
-        List<PrivateIp> ipList = new ArrayList<PrivateIp>();
+    public boolean canIpUsedForService(PublicIp publicIp, Service service) {
+        List<PublicIp> ipList = new ArrayList<PublicIp>();
         ipList.add(publicIp);
-        Map<PrivateIp, Set<Service>> ipToServices = getIpToServices(ipList, false, true);
+        Map<PublicIp, Set<Service>> ipToServices = getIpToServices(ipList, false, true);
         Set<Service> services = ipToServices.get(publicIp);
         if (services == null || services.isEmpty()) {
             return true;
@@ -872,22 +872,22 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
 
     /* Return a mapping between provider in the network and the IP they should applied */
     @Override
-    public Map<Provider, ArrayList<PrivateIp>> getProviderToIpList(Network network, Map<PrivateIp, Set<Service>> ipToServices) {
+    public Map<Provider, ArrayList<PublicIp>> getProviderToIpList(Network network, Map<PublicIp, Set<Service>> ipToServices) {
         NetworkOffering offering = _networkOfferingDao.findById(network.getNetworkOfferingId());
         if (!offering.isConserveMode()) {
-            for (PrivateIp ip : ipToServices.keySet()) {
+            for (PublicIp ip : ipToServices.keySet()) {
                 Set<Service> services = ipToServices.get(ip);
                 if (services != null && services.size() > 1) {
                     throw new CloudRuntimeException("Ip " + ip.getAddress() + " is used by multiple services!");
                 }
             }
         }
-        Map<Service, Set<PrivateIp>> serviceToIps = new HashMap<Service, Set<PrivateIp>>();
-        for (PrivateIp ip : ipToServices.keySet()) {
+        Map<Service, Set<PublicIp>> serviceToIps = new HashMap<Service, Set<PublicIp>>();
+        for (PublicIp ip : ipToServices.keySet()) {
             for (Service service : ipToServices.get(ip)) {
-                Set<PrivateIp> ips = serviceToIps.get(service);
+                Set<PublicIp> ips = serviceToIps.get(service);
                 if (ips == null) {
-                    ips = new HashSet<PrivateIp>();
+                    ips = new HashSet<PublicIp>();
                 }
                 ips.add(ip);
                 serviceToIps.put(service, ips);
@@ -895,19 +895,19 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         }
         // TODO Check different provider for same IP
         Map<Provider, Set<Service>> providerToServices = getProviderServicesMap(network.getId());
-        Map<Provider, ArrayList<PrivateIp>> providerToIpList = new HashMap<Provider, ArrayList<PrivateIp>>();
+        Map<Provider, ArrayList<PublicIp>> providerToIpList = new HashMap<Provider, ArrayList<PublicIp>>();
         for (Provider provider : providerToServices.keySet()) {
             Set<Service> services = providerToServices.get(provider);
-            ArrayList<PrivateIp> ipList = new ArrayList<PrivateIp>();
-            Set<PrivateIp> ipSet = new HashSet<PrivateIp>();
+            ArrayList<PublicIp> ipList = new ArrayList<PublicIp>();
+            Set<PublicIp> ipSet = new HashSet<PublicIp>();
             for (Service service : services) {
-                Set<PrivateIp> serviceIps = serviceToIps.get(service);
+                Set<PublicIp> serviceIps = serviceToIps.get(service);
                 if (serviceIps == null || serviceIps.isEmpty()) {
                     continue;
                 }
                 ipSet.addAll(serviceIps);
             }
-            Set<PrivateIp> sourceNatIps = serviceToIps.get(Service.SourceNat);
+            Set<PublicIp> sourceNatIps = serviceToIps.get(Service.SourceNat);
             if (sourceNatIps != null && !sourceNatIps.isEmpty()) {
                 ipList.addAll(0, sourceNatIps);
                 ipSet.removeAll(sourceNatIps);
@@ -919,15 +919,15 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     }
 
     protected boolean applyIpAssociations(Network network, boolean rulesRevoked, boolean continueOnError, 
-            List<PrivateIp> publicIps) throws ResourceUnavailableException {
+            List<PublicIp> publicIps) throws ResourceUnavailableException {
         boolean success = true;
 
-        Map<PrivateIp, Set<Service>> ipToServices = getIpToServices(publicIps, rulesRevoked, false);
-        Map<Provider, ArrayList<PrivateIp>> providerToIpList = getProviderToIpList(network, ipToServices);
+        Map<PublicIp, Set<Service>> ipToServices = getIpToServices(publicIps, rulesRevoked, false);
+        Map<Provider, ArrayList<PublicIp>> providerToIpList = getProviderToIpList(network, ipToServices);
 
         for (Provider provider : providerToIpList.keySet()) {
             try {
-                ArrayList<PrivateIp> ips = providerToIpList.get(provider);
+                ArrayList<PublicIp> ips = providerToIpList.get(provider);
                 if (ips == null || ips.isEmpty()) {
                     continue;
                 }
@@ -954,7 +954,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
                     applyFirewallRules = true;
                 }
                 Set<Service> services = new HashSet<Service>();
-                for (PrivateIp ip : ips) {
+                for (PublicIp ip : ips) {
                     if (!ipToServices.containsKey(ip)) {
                         continue;
                     }
@@ -980,7 +980,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         return success;
     }
 
-    Set<Purpose> getPublicIpPurposeInRules(PrivateIp ip, boolean includeRevoked, boolean includingFirewall) {
+    Set<Purpose> getPublicIpPurposeInRules(PublicIp ip, boolean includeRevoked, boolean includingFirewall) {
         Set<Purpose> result = new HashSet<Purpose>();
         List<FirewallRuleVO> rules = null;
         if (includeRevoked) {
@@ -1045,7 +1045,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
             throw ex;
         }
 
-        PrivateIp ip = null;
+        PublicIp ip = null;
 
         Transaction txn = Transaction.currentTxn();
         Account accountToLock = null;
@@ -3702,10 +3702,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
 
         // get the list of public ip's owned by the network
         List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(network.getId(), null);
-        List<PrivateIp> publicIps = new ArrayList<PrivateIp>();
+        List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                 publicIps.add(publicIp);
             }
         }
@@ -4141,7 +4141,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
             return null;
         }
 
-        return new PrivateIp(addr, _vlanDao.findById(addr.getVlanId()), NetUtils.createSequenceBasedMacAddress(addr.getMacAddress()));
+        return new PublicIp(addr, _vlanDao.findById(addr.getVlanId()), NetUtils.createSequenceBasedMacAddress(addr.getMacAddress()));
     }
 
     @Override
@@ -4944,10 +4944,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
 
         // get the list of public ip's owned by the network
         List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(network.getId(), null);
-        List<PrivateIp> publicIps = new ArrayList<PrivateIp>();
+        List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                 publicIps.add(publicIp);
             }
         }
@@ -4979,13 +4979,13 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         // For revoked static nat IP, set the vm_id to null, indicate it should be revoked
         for (StaticNat staticNat : staticNats) {
             if (staticNat.isForRevoke()) {
-                for (PrivateIp publicIp : publicIps) {
+                for (PublicIp publicIp : publicIps) {
                     if (publicIp.getId() == staticNat.getSourceIpAddressId()) {
                         publicIps.remove(publicIp);
                         IPAddressVO ip = _ipAddressDao.findByIdIncludingRemoved(staticNat.getSourceIpAddressId());
                         // ip can't be null, otherwise something wrong happened
                         ip.setAssociatedWithVmId(null);
-                        publicIp = new PrivateIp(ip, _vlanDao.findById(ip.getVlanId()), NetUtils.createSequenceBasedMacAddress(ip.getMacAddress()));
+                        publicIp = new PublicIp(ip, _vlanDao.findById(ip.getVlanId()), NetUtils.createSequenceBasedMacAddress(ip.getMacAddress()));
                         publicIps.add(publicIp);
                         break;
                     }
@@ -5111,10 +5111,10 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
 
         // Check all ips
         List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(network.getId(), null);
-        List<PrivateIp> publicIps = new ArrayList<PrivateIp>();
+        List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                 publicIps.add(publicIp);
             }
         }
@@ -6161,11 +6161,11 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         // Get all ip addresses, mark as releasing and release them on the backend
         Network network = getNetwork(networkId);
         List<IPAddressVO> userIps = _ipAddressDao.listByAssociatedNetwork(networkId, null);
-        List<PrivateIp> publicIpsToRelease = new ArrayList<PrivateIp>();
+        List<PublicIp> publicIpsToRelease = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
                 userIp.setState(State.Releasing);
-                PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                 publicIpsToRelease.add(publicIp);
             }
         }
@@ -6925,7 +6925,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
         if (offering.getGuestType() != GuestType.Isolated) {
             return true;
         }
-        PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+        PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
         if (!canIpUsedForService(publicIp, service)) {
             return false;
         }
@@ -7055,7 +7055,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
     public void allocateDirectIp(NicProfile nic, DataCenter dc, VirtualMachineProfile<? extends VirtualMachine> vm, Network network, String requestedIp) throws InsufficientVirtualNetworkCapcityException,
             InsufficientAddressCapacityException {
         if (nic.getIp4Address() == null) {
-            PrivateIp ip = assignPublicIpAddress(dc.getId(), null, vm.getOwner(), VlanType.DirectAttached, network.getId(), requestedIp, false);
+            PublicIp ip = assignPublicIpAddress(dc.getId(), null, vm.getOwner(), VlanType.DirectAttached, network.getId(), requestedIp, false);
             nic.setIp4Address(ip.getAddress().toString());
             nic.setGateway(ip.getGateway());
             nic.setNetmask(ip.getNetmask());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/addr/PrivateIp.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/addr/PrivateIp.java b/server/src/com/cloud/network/addr/PrivateIp.java
deleted file mode 100644
index ccaa931..0000000
--- a/server/src/com/cloud/network/addr/PrivateIp.java
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License.  Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-// Automatically generated by addcopyright.py at 04/03/2012
-package com.cloud.network.addr;
-
-import java.util.Date;
-
-import com.cloud.dc.VlanVO;
-import com.cloud.network.IPAddressVO;
-import com.cloud.network.PublicIpAddress;
-import com.cloud.utils.net.Ip;
-import com.cloud.utils.net.NetUtils;
-
-/**
- */
-public class PrivateIp implements PublicIpAddress {
-    IPAddressVO _addr;
-    VlanVO _vlan;
-    String macAddress;
-
-    public PrivateIp(IPAddressVO addr, VlanVO vlan, long macAddress) {
-        _addr = addr;
-        _vlan = vlan;
-        this.macAddress = NetUtils.long2Mac(macAddress);
-    }
-    
-    @Override
-    public Ip getAddress() {
-        return _addr.getAddress();
-    }
-    
-    @Override
-    public String getNetmask() {
-        return _vlan.getVlanNetmask();
-    }
-    
-    @Override
-    public String getGateway() {
-        return _vlan.getVlanGateway();
-    }
-    
-    @Override
-    public String getVlanTag() {
-        return _vlan.getVlanTag();
-    }
-    
-    @Override
-    public long getDataCenterId() {
-        return _addr.getDataCenterId();
-    }
-    
-    @Override
-    public boolean readyToUse() {
-        return _addr.getAllocatedTime() != null && _addr.getState() == State.Allocated;
-    }
-    
-    @Override
-    public boolean isSourceNat() {
-        return _addr.isSourceNat();
-    }
-    
-    @Override
-    public boolean isOneToOneNat() {
-        return _addr.isOneToOneNat();
-    }
-    
-    @Override
-    public Long getAssociatedWithVmId() {
-        return _addr.getAssociatedWithVmId();
-    }
-    
-    @Override
-    public Date getAllocatedTime() {
-        return _addr.getAllocatedTime();
-    }
-
-    @Override
-    public long getAccountId() {
-        return _addr.getAccountId();
-    }
-
-    @Override
-    public long getDomainId() {
-        return _addr.getDomainId();
-    }
-
-    @Override
-    public long getVlanId() {
-        return _vlan.getId();
-    }
-
-    @Override
-    public State getState() {
-        return _addr.getState();
-    }
-    
-    public IPAddressVO ip() {
-        return _addr;
-    }
-    
-    public VlanVO vlan() {
-        return _vlan;
-    }
-    
-    @Override
-    public String getMacAddress() {
-        return macAddress;
-    }
-    
-    @Override
-    public Long getAssociatedWithNetworkId() {
-        return _addr.getAssociatedWithNetworkId();
-    }
-    
-    @Override
-    public Long getNetworkId() {
-        return _vlan.getNetworkId();
-    }
-
-    @Override
-    public String getVlanGateway() {
-        return _vlan.getVlanGateway();
-    }
-
-    @Override
-    public String getVlanNetmask() {
-        return _vlan.getVlanNetmask();
-    }
-
-    @Override
-    public String getIpRange() {
-        return _vlan.getIpRange();
-    }
-
-    @Override
-    public VlanType getVlanType() {
-        return _vlan.getVlanType();
-    }
-    
-    @Override
-    public long getId() {
-        return _addr.getId();
-    }
-    
-    @Override
-    public String toString() {
-        return _addr.getAddress().toString();
-    }
-
-    @Override
-    public Long getPhysicalNetworkId() {
-        return _vlan.getPhysicalNetworkId();
-    }
-
-	@Override
-	public void setState(State state) {
-		_addr.setState(state);
-	}
-
-	@Override
-	public Long getAllocatedToAccountId() {
-		return _addr.getAllocatedToAccountId();
-	}
-
-	@Override
-	public Long getAllocatedInDomainId() {
-		return _addr.getAllocatedInDomainId();
-	}
-	
-	@Override
-    public boolean getSystem() {
-        return _addr.getSystem();
-    }
-
-    /* (non-Javadoc)
-     * @see com.cloud.network.IpAddress#getVpcId()
-     */
-    @Override
-    public Long getVpcId() {
-       return _addr.getVpcId();
-    }
-
-    /* (non-Javadoc)
-     * @see com.cloud.network.IpAddress#setVpcId(java.lang.Long)
-     */
-    @Override
-    public void setVpcId(Long vpcId) {
-        _addr.setVpcId(vpcId);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/addr/PublicIp.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/addr/PublicIp.java b/server/src/com/cloud/network/addr/PublicIp.java
new file mode 100644
index 0000000..11948e5
--- /dev/null
+++ b/server/src/com/cloud/network/addr/PublicIp.java
@@ -0,0 +1,199 @@
+// Copyright 2012 Citrix Systems, Inc. Licensed under the
+// Apache License, Version 2.0 (the "License"); you may not use this
+// file except in compliance with the License.  Citrix Systems, Inc.
+// reserves all rights not expressly granted by the License.
+// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// 
+// Automatically generated by addcopyright.py at 04/03/2012
+package com.cloud.network.addr;
+
+import java.util.Date;
+
+import com.cloud.dc.VlanVO;
+import com.cloud.network.IPAddressVO;
+import com.cloud.network.PublicIpAddress;
+import com.cloud.utils.net.Ip;
+import com.cloud.utils.net.NetUtils;
+
+/**
+ */
+public class PublicIp implements PublicIpAddress {
+    IPAddressVO _addr;
+    VlanVO _vlan;
+    String macAddress;
+
+    public PublicIp(IPAddressVO addr, VlanVO vlan, long macAddress) {
+        _addr = addr;
+        _vlan = vlan;
+        this.macAddress = NetUtils.long2Mac(macAddress);
+    }
+    
+    @Override
+    public Ip getAddress() {
+        return _addr.getAddress();
+    }
+    
+    @Override
+    public String getNetmask() {
+        return _vlan.getVlanNetmask();
+    }
+    
+    @Override
+    public String getGateway() {
+        return _vlan.getVlanGateway();
+    }
+    
+    @Override
+    public String getVlanTag() {
+        return _vlan.getVlanTag();
+    }
+    
+    @Override
+    public long getDataCenterId() {
+        return _addr.getDataCenterId();
+    }
+    
+    @Override
+    public boolean readyToUse() {
+        return _addr.getAllocatedTime() != null && _addr.getState() == State.Allocated;
+    }
+    
+    @Override
+    public boolean isSourceNat() {
+        return _addr.isSourceNat();
+    }
+    
+    @Override
+    public boolean isOneToOneNat() {
+        return _addr.isOneToOneNat();
+    }
+    
+    @Override
+    public Long getAssociatedWithVmId() {
+        return _addr.getAssociatedWithVmId();
+    }
+    
+    @Override
+    public Date getAllocatedTime() {
+        return _addr.getAllocatedTime();
+    }
+
+    @Override
+    public long getAccountId() {
+        return _addr.getAccountId();
+    }
+
+    @Override
+    public long getDomainId() {
+        return _addr.getDomainId();
+    }
+
+    @Override
+    public long getVlanId() {
+        return _vlan.getId();
+    }
+
+    @Override
+    public State getState() {
+        return _addr.getState();
+    }
+    
+    public IPAddressVO ip() {
+        return _addr;
+    }
+    
+    public VlanVO vlan() {
+        return _vlan;
+    }
+    
+    @Override
+    public String getMacAddress() {
+        return macAddress;
+    }
+    
+    @Override
+    public Long getAssociatedWithNetworkId() {
+        return _addr.getAssociatedWithNetworkId();
+    }
+    
+    @Override
+    public Long getNetworkId() {
+        return _vlan.getNetworkId();
+    }
+
+    @Override
+    public String getVlanGateway() {
+        return _vlan.getVlanGateway();
+    }
+
+    @Override
+    public String getVlanNetmask() {
+        return _vlan.getVlanNetmask();
+    }
+
+    @Override
+    public String getIpRange() {
+        return _vlan.getIpRange();
+    }
+
+    @Override
+    public VlanType getVlanType() {
+        return _vlan.getVlanType();
+    }
+    
+    @Override
+    public long getId() {
+        return _addr.getId();
+    }
+    
+    @Override
+    public String toString() {
+        return _addr.getAddress().toString();
+    }
+
+    @Override
+    public Long getPhysicalNetworkId() {
+        return _vlan.getPhysicalNetworkId();
+    }
+
+	@Override
+	public void setState(State state) {
+		_addr.setState(state);
+	}
+
+	@Override
+	public Long getAllocatedToAccountId() {
+		return _addr.getAllocatedToAccountId();
+	}
+
+	@Override
+	public Long getAllocatedInDomainId() {
+		return _addr.getAllocatedInDomainId();
+	}
+	
+	@Override
+    public boolean getSystem() {
+        return _addr.getSystem();
+    }
+
+    /* (non-Javadoc)
+     * @see com.cloud.network.IpAddress#getVpcId()
+     */
+    @Override
+    public Long getVpcId() {
+       return _addr.getVpcId();
+    }
+
+    /* (non-Javadoc)
+     * @see com.cloud.network.IpAddress#setVpcId(java.lang.Long)
+     */
+    @Override
+    public void setVpcId(Long vpcId) {
+        _addr.setVpcId(vpcId);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java b/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
index 821d878..91dc940 100755
--- a/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/DirectPodBasedNetworkGuru.java
@@ -38,7 +38,7 @@ import com.cloud.network.Network;
 import com.cloud.network.NetworkManager;
 import com.cloud.network.Networks.AddressFormat;
 import com.cloud.network.Networks.BroadcastDomainType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.IPAddressDao;
 import com.cloud.offering.NetworkOffering;
 import com.cloud.offerings.dao.NetworkOfferingDao;
@@ -155,7 +155,7 @@ public class DirectPodBasedNetworkGuru extends DirectNetworkGuru {
             InsufficientAddressCapacityException, ConcurrentOperationException {
         DataCenter dc = _dcDao.findById(pod.getDataCenterId());
         if (nic.getIp4Address() == null) {
-            PrivateIp ip = _networkMgr.assignPublicIpAddress(dc.getId(), pod.getId(), vm.getOwner(), VlanType.DirectAttached, network.getId(), null, false);
+            PublicIp ip = _networkMgr.assignPublicIpAddress(dc.getId(), pod.getId(), vm.getOwner(), VlanType.DirectAttached, network.getId(), null, false);
             nic.setIp4Address(ip.getAddress().toString());
             nic.setFormat(AddressFormat.Ip4);
             nic.setGateway(ip.getGateway());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/guru/PublicNetworkGuru.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/guru/PublicNetworkGuru.java b/server/src/com/cloud/network/guru/PublicNetworkGuru.java
index 1022421..d094445 100755
--- a/server/src/com/cloud/network/guru/PublicNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/PublicNetworkGuru.java
@@ -36,7 +36,7 @@ import com.cloud.network.Networks.BroadcastDomainType;
 import com.cloud.network.Networks.IsolationType;
 import com.cloud.network.Networks.Mode;
 import com.cloud.network.Networks.TrafficType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.IPAddressDao;
 import com.cloud.offering.NetworkOffering;
 import com.cloud.user.Account;
@@ -106,7 +106,7 @@ public class PublicNetworkGuru extends AdapterBase implements NetworkGuru {
     protected void getIp(NicProfile nic, DataCenter dc, VirtualMachineProfile<? extends VirtualMachine> vm, Network network) throws InsufficientVirtualNetworkCapcityException,
     InsufficientAddressCapacityException, ConcurrentOperationException {
         if (nic.getIp4Address() == null) {
-            PrivateIp ip = _networkMgr.assignPublicIpAddress(dc.getId(), null, vm.getOwner(), VlanType.VirtualNetwork, null, null, false);
+            PublicIp ip = _networkMgr.assignPublicIpAddress(dc.getId(), null, vm.getOwner(), VlanType.VirtualNetwork, null, null, false);
             nic.setIp4Address(ip.getAddress().toString());
             nic.setGateway(ip.getGateway());
             nic.setNetmask(ip.getNetmask());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
index b628ea6..704d400 100644
--- a/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
+++ b/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
@@ -80,7 +80,7 @@ import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.PhysicalNetworkServiceProvider;
 import com.cloud.network.VirtualRouterProvider;
 import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.IPAddressDao;
 import com.cloud.network.dao.LoadBalancerDao;
 import com.cloud.network.dao.NetworkDao;
@@ -596,12 +596,12 @@ public class ElasticLoadBalancerManagerImpl implements
     }
     
     @DB
-    public PrivateIp allocDirectIp(Account account, long guestNetworkId) throws InsufficientAddressCapacityException {
+    public PublicIp allocDirectIp(Account account, long guestNetworkId) throws InsufficientAddressCapacityException {
         Network frontEndNetwork = _networkMgr.getNetwork(guestNetworkId);
         Transaction txn = Transaction.currentTxn();
         txn.start();
         
-        PrivateIp ip = _networkMgr.assignPublicIpAddress(frontEndNetwork.getDataCenterId(), null, account, VlanType.DirectAttached, frontEndNetwork.getId(), null, true);
+        PublicIp ip = _networkMgr.assignPublicIpAddress(frontEndNetwork.getDataCenterId(), null, account, VlanType.DirectAttached, frontEndNetwork.getId(), null, true);
         IPAddressVO ipvo = _ipAddressDao.findById(ip.getId());
         ipvo.setAssociatedWithNetworkId(frontEndNetwork.getId()); 
         _ipAddressDao.update(ipvo.getId(), ipvo);
@@ -650,7 +650,7 @@ public class ElasticLoadBalancerManagerImpl implements
                         } 
                     } else {
                         s_logger.debug("Could not find any existing frontend ips for this account for this LB rule, acquiring a new frontent IP for ELB");
-                        PrivateIp ip = allocDirectIp(account, networkId);
+                        PublicIp ip = allocDirectIp(account, networkId);
                         ipId = ip.getId();
                         newIp = true;
                     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 3176190..b3991ab 100755
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -138,7 +138,7 @@ import com.cloud.network.VirtualRouterProvider;
 import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
 import com.cloud.network.VpnUser;
 import com.cloud.network.VpnUserVO;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.FirewallRulesDao;
 import com.cloud.network.dao.IPAddressDao;
 import com.cloud.network.dao.LoadBalancerDao;
@@ -1273,7 +1273,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
                 offeringId = _offering.getId();
                 }
 
-            PrivateIp sourceNatIp = null;
+            PublicIp sourceNatIp = null;
                 if (publicNetwork) {
                 sourceNatIp = _networkMgr.assignSourceNatIpAddressToGuestNetwork(owner, guestNetwork);
             }
@@ -1289,7 +1289,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
             int count = routerCount - routers.size();
             for (int i = 0; i < count; i++) {
                 DomainRouterVO router = deployRouter(owner, dest, plan, params, isRedundant, vrProvider, offeringId,
-                        null, sourceNatIp, publicNetwork, controlNetwork, guestNetwork, new Pair<Boolean, PrivateIp>(publicNetwork, sourceNatIp));
+                        null, sourceNatIp, publicNetwork, controlNetwork, guestNetwork, new Pair<Boolean, PublicIp>(publicNetwork, sourceNatIp));
                 //add router to router network map
                 if (!_routerDao.isRouterPartOfGuestNetwork(router.getId(), network.getId())) {
                     DomainRouterVO routerVO = _routerDao.findById(router.getId());
@@ -1307,8 +1307,8 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
 
     protected DomainRouterVO deployRouter(Account owner, DeployDestination dest, DeploymentPlan plan, Map<Param, Object> params,
             boolean isRedundant, VirtualRouterProvider vrProvider, long svcOffId,
-            Long vpcId, PrivateIp sourceNatIp, boolean setupPublicNetwork, boolean setupControlNetwork, Network guestNetwork,
-            Pair<Boolean, PrivateIp> publicNetwork) throws ConcurrentOperationException, 
+            Long vpcId, PublicIp sourceNatIp, boolean setupPublicNetwork, boolean setupControlNetwork, Network guestNetwork,
+            Pair<Boolean, PublicIp> publicNetwork) throws ConcurrentOperationException, 
             InsufficientAddressCapacityException, InsufficientServerCapacityException, InsufficientCapacityException, 
             StorageUnavailableException, ResourceUnavailableException {
         
@@ -1411,7 +1411,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
     }
 
     protected List<Pair<NetworkVO, NicProfile>> createRouterNetworks(Account owner, boolean isRedundant, 
-            DeploymentPlan plan, boolean setupControlNetwork, Network guestNetwork, Pair<Boolean, PrivateIp> publicNetwork) throws ConcurrentOperationException,
+            DeploymentPlan plan, boolean setupControlNetwork, Network guestNetwork, Pair<Boolean, PublicIp> publicNetwork) throws ConcurrentOperationException,
             InsufficientAddressCapacityException {
         
         
@@ -1469,7 +1469,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
         
         //3) Public network
         if (setupPublicNetwork) {
-            PrivateIp sourceNatIp = publicNetwork.second();
+            PublicIp sourceNatIp = publicNetwork.second();
             s_logger.debug("Adding nic for Virtual Router in Public network ");
             //if source nat service is supported by the network, get the source nat ip address
             NicProfile defaultNic = new NicProfile();
@@ -2076,10 +2076,10 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
     protected ArrayList<? extends PublicIpAddress> getPublicIpsToApply(VirtualRouter router, Provider provider, Long guestNetworkId) {
         long ownerId = router.getAccountId();
         final List<IPAddressVO> userIps = _networkMgr.listPublicIpsAssignedToGuestNtwk(ownerId, guestNetworkId, null);
-        List<PrivateIp> allPublicIps = new ArrayList<PrivateIp>();
+        List<PublicIp> allPublicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                    PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), 
+                    PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), 
                             NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                 allPublicIps.add(publicIp);
             }
@@ -2087,11 +2087,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
         
         //Get public Ips that should be handled by router
         Network network = _networkDao.findById(guestNetworkId);
-        Map<PrivateIp, Set<Service>> ipToServices = _networkMgr.getIpToServices(allPublicIps, false, false);
-        Map<Provider, ArrayList<PrivateIp>> providerToIpList = _networkMgr.getProviderToIpList(network, ipToServices);
+        Map<PublicIp, Set<Service>> ipToServices = _networkMgr.getIpToServices(allPublicIps, false, false);
+        Map<Provider, ArrayList<PublicIp>> providerToIpList = _networkMgr.getProviderToIpList(network, ipToServices);
         // Only cover virtual router for now, if ELB use it this need to be modified
       
-        ArrayList<PrivateIp> publicIps = providerToIpList.get(provider);
+        ArrayList<PublicIp> publicIps = providerToIpList.get(provider);
         return publicIps;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index 3460717..9966e65 100644
--- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -72,7 +72,7 @@ import com.cloud.network.Site2SiteVpnGatewayVO;
 import com.cloud.network.VirtualRouterProvider;
 import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
 import com.cloud.network.VpcVirtualNetworkApplianceService;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.PhysicalNetworkDao;
 import com.cloud.network.dao.Site2SiteVpnConnectionDao;
 import com.cloud.network.firewall.NetworkACLService;
@@ -188,7 +188,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
                 }
             }
             
-            PrivateIp sourceNatIp = _networkMgr.assignSourceNatIpAddressToVpc(owner, vpc);
+            PublicIp sourceNatIp = _networkMgr.assignSourceNatIpAddressToVpc(owner, vpc);
             
             DomainRouterVO router = deployVpcRouter(owner, dest, plan, params, false, vpcVrProvider, offeringId,
                     vpc.getId(), sourceNatIp);
@@ -288,7 +288,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
         return result;
     }
     
-    protected boolean addPublicIpToVpc(VirtualRouter router, Network publicNetwork, PrivateIp ipAddress) 
+    protected boolean addPublicIpToVpc(VirtualRouter router, Network publicNetwork, PublicIp ipAddress) 
             throws ConcurrentOperationException,ResourceUnavailableException, InsufficientCapacityException {
         
         if (publicNetwork.getTrafficType() != TrafficType.Public) {
@@ -326,7 +326,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
                 publicNic.setDefaultNic(true);
                 if (ipAddress != null) {
                     IPAddressVO ipVO = _ipAddressDao.findById(ipAddress.getId());
-                    PrivateIp publicIp = new PrivateIp(ipVO, _vlanDao.findById(ipVO.getVlanId()), 
+                    PublicIp publicIp = new PublicIp(ipVO, _vlanDao.findById(ipVO.getVlanId()), 
                             NetUtils.createSequenceBasedMacAddress(ipVO.getMacAddress()));
                     result = associtePublicIpInVpc(publicNetwork, router, false, publicIp);
                 }
@@ -344,7 +344,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
     }
     
     
-    protected boolean removePublicIpFromVpcRouter(VirtualRouter router, Network publicNetwork, PrivateIp ipAddress) 
+    protected boolean removePublicIpFromVpcRouter(VirtualRouter router, Network publicNetwork, PublicIp ipAddress) 
             throws ConcurrentOperationException, ResourceUnavailableException {
         
         if (publicNetwork.getTrafficType() != TrafficType.Public) {
@@ -355,7 +355,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
         boolean result = true;
         IPAddressVO ipVO = _ipAddressDao.findById(ipAddress.getId());
         _networkMgr.markIpAsUnavailable(ipVO.getId());
-        PrivateIp publicIp = new PrivateIp(ipVO, _vlanDao.findById(ipVO.getVlanId()), 
+        PublicIp publicIp = new PublicIp(ipVO, _vlanDao.findById(ipVO.getVlanId()), 
                 NetUtils.createSequenceBasedMacAddress(ipVO.getMacAddress()));
         result = associtePublicIpInVpc(publicNetwork, router, false, publicIp);
         
@@ -374,10 +374,10 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
         }
     }
     
-    protected boolean associtePublicIpInVpc(Network network, VirtualRouter router, boolean add, PrivateIp ipAddress) 
+    protected boolean associtePublicIpInVpc(Network network, VirtualRouter router, boolean add, PublicIp ipAddress) 
             throws ConcurrentOperationException, ResourceUnavailableException{
         
-        List<PrivateIp> publicIps = new ArrayList<PrivateIp>(1);
+        List<PublicIp> publicIps = new ArrayList<PublicIp>(1);
         publicIps.add(ipAddress);
         Commands cmds = new Commands(OnError.Stop);
         createVpcAssociatePublicIPCommands(router, publicIps, cmds);
@@ -393,7 +393,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
     
     protected DomainRouterVO deployVpcRouter(Account owner, DeployDestination dest, DeploymentPlan plan, Map<Param, Object> params,
             boolean isRedundant, VirtualRouterProvider vrProvider, long svcOffId,
-            Long vpcId, PrivateIp sourceNatIp) throws ConcurrentOperationException, 
+            Long vpcId, PublicIp sourceNatIp) throws ConcurrentOperationException, 
             InsufficientAddressCapacityException, InsufficientServerCapacityException, InsufficientCapacityException, 
             StorageUnavailableException, ResourceUnavailableException {
         
@@ -776,14 +776,14 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
         
         try {
             //add VPC router to public networks
-            List<PrivateIp> sourceNat = new ArrayList<PrivateIp>(1);
+            List<PublicIp> sourceNat = new ArrayList<PublicIp>(1);
             for (Nic publicNic : publicNics.keySet()) {
                 Network publicNtwk = publicNics.get(publicNic);
                 IPAddressVO userIp = _ipAddressDao.findByIpAndSourceNetworkId(publicNtwk.getId(), 
                         publicNic.getIp4Address());
                
                 if (userIp.isSourceNat()) {
-                    PrivateIp publicIp = new PrivateIp(userIp, _vlanDao.findById(userIp.getVlanId()), 
+                    PublicIp publicIp = new PublicIp(userIp, _vlanDao.findById(userIp.getVlanId()), 
                             NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
                     sourceNat.add(publicIp);
                     

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/58026111/server/test/com/cloud/network/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java
index d455cc9..8e113ea 100755
--- a/server/test/com/cloud/network/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java
@@ -44,7 +44,7 @@ import com.cloud.network.Network.GuestType;
 import com.cloud.network.Network.Provider;
 import com.cloud.network.Network.Service;
 import com.cloud.network.Networks.TrafficType;
-import com.cloud.network.addr.PrivateIp;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.element.NetworkElement;
 import com.cloud.network.element.RemoteAccessVPNServiceProvider;
 import com.cloud.network.element.UserDataServiceProvider;
@@ -723,13 +723,13 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
     }
 
     @Override
-    public Map<PrivateIp, Set<Service>> getIpToServices(List<PrivateIp> publicIps, boolean rulesRevoked, boolean includingFirewall) {
+    public Map<PublicIp, Set<Service>> getIpToServices(List<PublicIp> publicIps, boolean rulesRevoked, boolean includingFirewall) {
         // TODO Auto-generated method stub
         return null;
     }
 
     @Override
-    public Map<Provider, ArrayList<PrivateIp>> getProviderToIpList(Network network, Map<PrivateIp, Set<Service>> ipToServices) {
+    public Map<Provider, ArrayList<PublicIp>> getProviderToIpList(Network network, Map<PublicIp, Set<Service>> ipToServices) {
         // TODO Auto-generated method stub
         return null;
     }
@@ -750,14 +750,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
         return false;
     }
 
-    /* (non-Javadoc)
-     * @see com.cloud.network.NetworkManager#getAccountNetworkDomain(long, long)
-     */
-    @Override
-    public String getAccountNetworkDomain(long accountId, long zoneId) {
-        // TODO Auto-generated method stub
-        return null;
-    }
 
     /* (non-Javadoc)
      * @see com.cloud.network.NetworkManager#getDefaultNetworkDomain()
@@ -1014,15 +1006,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
     }
 
     /* (non-Javadoc)
-     * @see com.cloud.network.NetworkManager#assignPublicIpAddress(long, java.lang.Long, com.cloud.user.Account, com.cloud.dc.Vlan.VlanType, java.lang.Long, java.lang.String, boolean)
-     */
-    @Override
-    public PrivateIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, boolean isSystem) throws InsufficientAddressCapacityException {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    /* (non-Javadoc)
      * @see com.cloud.network.NetworkManager#checkVirtualNetworkCidrOverlap(java.lang.Long, java.lang.String)
      */
     @Override
@@ -1053,7 +1036,7 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
      * @see com.cloud.network.NetworkManager#assignSourceNatIpAddressToGuestNetwork(com.cloud.user.Account, com.cloud.network.Network)
      */
     @Override
-    public PrivateIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) throws InsufficientAddressCapacityException, ConcurrentOperationException {
+    public PublicIp assignSourceNatIpAddressToGuestNetwork(Account owner, Network guestNetwork) throws InsufficientAddressCapacityException, ConcurrentOperationException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -1062,7 +1045,7 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
      * @see com.cloud.network.NetworkManager#assignSourceNatIpAddressToVpc(com.cloud.user.Account, com.cloud.network.vpc.Vpc)
      */
     @Override
-    public PrivateIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException {
+    public PublicIp assignSourceNatIpAddressToVpc(Account owner, Vpc vpc) throws InsufficientAddressCapacityException, ConcurrentOperationException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -1111,4 +1094,22 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
         // TODO Auto-generated method stub
         return false;
     }
+
+    /* (non-Javadoc)
+     * @see com.cloud.network.NetworkManager#assignPublicIpAddress(long, java.lang.Long, com.cloud.user.Account, com.cloud.dc.Vlan.VlanType, java.lang.Long, java.lang.String, boolean)
+     */
+    @Override
+    public PublicIp assignPublicIpAddress(long dcId, Long podId, Account owner, VlanType type, Long networkId, String requestedIp, boolean isSystem) throws InsufficientAddressCapacityException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see com.cloud.network.NetworkManager#getAccountNetworkDomain(long, long)
+     */
+    @Override
+    public String getAccountNetworkDomain(long accountId, long zoneId) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }