You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2014/01/06 15:25:38 UTC

git commit: updated refs/heads/master to d69a350

Updated Branches:
  refs/heads/master 75ebc0369 -> d69a35086


another issue with vlan-number vs vlan-uri

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

Branch: refs/heads/master
Commit: d69a35086f81589c7f86b37cfbed892c821d84b9
Parents: 75ebc03
Author: Daan Hoogland <dh...@schubergphilis.com>
Authored: Mon Jan 6 15:25:35 2014 +0100
Committer: Daan Hoogland <dh...@schubergphilis.com>
Committed: Mon Jan 6 15:25:35 2014 +0100

----------------------------------------------------------------------
 .../src/com/cloud/network/element/NiciraNvpElement.java   | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d69a3508/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
index 9671290..aa469cf 100644
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
@@ -245,7 +245,15 @@ public class NiciraNvpElement extends AdapterBase implements ConnectivityProvide
             PublicIp sourceNatIp = ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(owner, network);
             String publicCidr = sourceNatIp.getAddress().addr() + "/" + NetUtils.getCidrSize(sourceNatIp.getVlanNetmask());
             String internalCidr = network.getGateway() + "/" + network.getCidr().split("/")[1];
-            long vlanid = (Vlan.UNTAGGED.equals(sourceNatIp.getVlanTag())) ? 0 : Long.parseLong(sourceNatIp.getVlanTag());
+            // assuming a vlan:
+            String vtag = sourceNatIp.getVlanTag();
+            BroadcastDomainType tiep = BroadcastDomainType.toEnumValue(vtag);
+            if (tiep == BroadcastDomainType.Vlan) {
+                vtag = BroadcastDomainType.Vlan.getValueFrom(BroadcastDomainType.fromString(vtag));
+            } else if (tiep != BroadcastDomainType.UnDecided) {
+                throw new CloudRuntimeException("only vlans are supported for sourceNatIp, at this moment: " + vtag);
+            }
+            long vlanid = (Vlan.UNTAGGED.equals(sourceNatIp.getVlanTag())) ? 0 : Long.parseLong(vtag);
 
             CreateLogicalRouterCommand cmd =
                 new CreateLogicalRouterCommand(niciraNvpHost.getDetail("l3gatewayserviceuuid"), vlanid, BroadcastDomainType.getValue(network.getBroadcastUri()),