[ONOS-3804] [ONOS-3805] Initial L3 flowrules setup for Compute/Gateway nodes and PNAT Handler for OpenstackRouting
- Performs app refactoring (openstackrouting and openstackswitching)
- Implements L3 REST call corresponding openstackRouter and openstackRouterInterface.
- Implements initail L3 rules population to compute/gateway node.
- Implements PNAT rules population corresponding packet-in event.
- Fixs comments and javadocs.
- Rebases on master.
Change-Id: I5ad68810f50dc977737d30c43150c892b978b7cb
diff --git a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackFloatingIP.java b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackFloatingIP.java
index bed0289..569c885 100644
--- a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackFloatingIP.java
+++ b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackFloatingIP.java
@@ -19,12 +19,14 @@
import java.util.Objects;
+import static com.google.common.base.Preconditions.checkNotNull;
+
/**
* An Openstack Neutron Floating IP Model.
*/
public final class OpenstackFloatingIP {
- public enum FloatingIPStatus {
+ public enum FloatingIpStatus {
UP,
DOWN,
ACTIVE,
@@ -33,13 +35,13 @@
private final String tenantId;
private final String networkId;
private final Ip4Address fixedIpAddress;
- private final String portId;
- private final String routerId;
+ private String portId;
+ private String routerId;
private final String id;
private final Ip4Address floatingIpAddress;
- private final FloatingIPStatus status;
+ private final FloatingIpStatus status;
- private OpenstackFloatingIP(FloatingIPStatus status, String id, String tenantId,
+ private OpenstackFloatingIP(FloatingIpStatus status, String id, String tenantId,
String networkId, Ip4Address fixedIpAddress, String portId,
String routerId, Ip4Address floatingIpAddress) {
this.status = status;
@@ -57,7 +59,7 @@
*
* @return floating IP status
*/
- public FloatingIPStatus status() {
+ public FloatingIpStatus status() {
return status;
}
@@ -107,6 +109,15 @@
}
/**
+ * Updates port ID.
+ *
+ * @param portId Updated port ID
+ */
+ public void updatePortId(String portId) {
+ this.portId = portId;
+ }
+
+ /**
* Returns router ID.
*
* @return router ID
@@ -116,6 +127,15 @@
}
/**
+ * Updates router ID.
+ *
+ * @param routerId Updated router ID
+ */
+ public void updateRouterId(String routerId) {
+ this.routerId = routerId;
+ }
+
+ /**
* Returns floating IP address.
*
* @return Floating IP address
@@ -162,7 +182,7 @@
private String routerId;
private String id;
private Ip4Address floatingIpAddress;
- private FloatingIPStatus status;
+ private FloatingIpStatus status;
/**
* Sets tenant ID.
@@ -181,7 +201,7 @@
* @param status Floating IP status
* @return Builder object
*/
- public Builder status(FloatingIPStatus status) {
+ public Builder status(FloatingIpStatus status) {
this.status = status;
return this;
}
@@ -258,8 +278,9 @@
* @return OpenstackFloatingIP object
*/
public OpenstackFloatingIP build() {
- return new OpenstackFloatingIP(status, id, tenantId, networkId,
- fixedIpAddress, portId, routerId, floatingIpAddress);
+ return new OpenstackFloatingIP(checkNotNull(status), checkNotNull(id), checkNotNull(tenantId),
+ checkNotNull(networkId), fixedIpAddress, portId,
+ routerId, checkNotNull(floatingIpAddress));
}
}