X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetworkconfiguration%2Fneutron%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetworkconfig%2Fneutron%2FNeutronSubnet.java;h=1f10b395137c498b3e542e974545132332e84be4;hp=6582d8c021d5f61de10ae6b221f1217fdd1d668f;hb=c222e37f2a0f0f3f6266242fbea2d3b018f4e6e3;hpb=6fd408a04fe4a3611843e2246ece6d7c34b76903 diff --git a/opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/NeutronSubnet.java b/opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/NeutronSubnet.java index 6582d8c021..1f10b39513 100644 --- a/opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/NeutronSubnet.java +++ b/opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/NeutronSubnet.java @@ -1,5 +1,5 @@ /* - * Copyright IBM Corporation, 2013. All rights reserved. + * Copyright IBM Corporation and others, 2013. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -25,7 +25,7 @@ import org.opendaylight.controller.configuration.ConfigurationObject; @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) -public class NeutronSubnet extends ConfigurationObject implements Serializable { +public class NeutronSubnet extends ConfigurationObject implements Serializable, INeutronObject { private static final long serialVersionUID = 1L; // See OpenStack Network API v2.0 Reference for description of @@ -64,12 +64,18 @@ public class NeutronSubnet extends ConfigurationObject implements Serializable { @XmlElement (name="tenant_id") String tenantID; + @XmlElement (name="ipv6_address_mode", nillable=true) + String ipV6AddressMode; + + @XmlElement (name="ipv6_ra_mode", nillable=true) + String ipV6RaMode; + /* stores the OpenStackPorts associated with an instance * used to determine if that instance can be deleted. */ List myPorts; - boolean gatewayIPAssigned; + Boolean gatewayIPAssigned; public NeutronSubnet() { myPorts = new ArrayList(); @@ -77,6 +83,8 @@ public class NeutronSubnet extends ConfigurationObject implements Serializable { public String getID() { return subnetUUID; } + public void setID(String id) { this.subnetUUID = id; } + public String getSubnetUUID() { return subnetUUID; } @@ -170,6 +178,14 @@ public class NeutronSubnet extends ConfigurationObject implements Serializable { this.tenantID = tenantID; } + public String getIpV6AddressMode() { return ipV6AddressMode; } + + public void setIpV6AddressMode(String ipV6AddressMode) { this.ipV6AddressMode = ipV6AddressMode; } + + public String getIpV6RaMode() { return ipV6RaMode; } + + public void setIpV6RaMode(String ipV6RaMode) { this.ipV6RaMode = ipV6RaMode; } + /** * This method copies selected fields from the object and returns them * as a new object, suitable for marshaling. @@ -224,6 +240,12 @@ public class NeutronSubnet extends ConfigurationObject implements Serializable { if (s.equals("tenant_id")) { ans.setTenantID(this.getTenantID()); } + if (s.equals("ipv6_address_mode")) { + ans.setIpV6AddressMode(this.getIpV6AddressMode()); + } + if (s.equals("ipv6_ra_mode")) { + ans.setIpV6RaMode(this.getIpV6RaMode()); + } } return ans; } @@ -277,7 +299,7 @@ public class NeutronSubnet extends ConfigurationObject implements Serializable { try { SubnetUtils util = new SubnetUtils(cidr); SubnetInfo info = util.getInfo(); - if (gatewayIP == null) { + if (gatewayIP == null || ("").equals(gatewayIP)) { gatewayIP = info.getLowAddress(); } if (allocationPools.size() < 1) { @@ -438,12 +460,17 @@ public class NeutronSubnet extends ConfigurationObject implements Serializable { gatewayIPAssigned = false; } + public Boolean getGatewayIPAllocated() { + return gatewayIPAssigned; + } + @Override public String toString() { return "NeutronSubnet [subnetUUID=" + subnetUUID + ", networkUUID=" + networkUUID + ", name=" + name + ", ipVersion=" + ipVersion + ", cidr=" + cidr + ", gatewayIP=" + gatewayIP + ", dnsNameservers=" + dnsNameservers + ", allocationPools=" + allocationPools + ", hostRoutes=" + hostRoutes + ", enableDHCP=" + enableDHCP + ", tenantID=" + tenantID + ", myPorts=" + myPorts - + ", gatewayIPAssigned=" + gatewayIPAssigned + "]"; + + ", gatewayIPAssigned=" + gatewayIPAssigned + ", ipv6AddressMode=" + ipV6AddressMode + + ", ipv6RaMode=" + ipV6RaMode + "]"; } }