[ONOS-3946] Implement IcmpHandler for OpenstackRoutingService
- Process Icmp packet sent from Host to external network for OpenstackGateway Node
- Process Arp packet sent from physical router to gateway
Change-Id: Ifcde71a9ca10180682811c9e1bcf58f991b36443
diff --git a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackPortInfo.java b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackPortInfo.java
index 0ab8681..d23f5f3 100644
--- a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackPortInfo.java
+++ b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/OpenstackPortInfo.java
@@ -27,12 +27,13 @@
/**
* Contains OpenstackPort Information.
*/
-public class OpenstackPortInfo {
+public final class OpenstackPortInfo {
private final Ip4Address hostIp;
private final MacAddress hostMac;
private final DeviceId deviceId;
private final long vni;
private final Ip4Address gatewayIP;
+ private final String networkId;
private final Collection<String> securityGroups;
/**
@@ -46,12 +47,13 @@
* @param securityGroups security group list
*/
public OpenstackPortInfo(Ip4Address hostIp, MacAddress hostMac, DeviceId deviceId, long vni,
- Ip4Address gatewayIP, Collection<String> securityGroups) {
+ Ip4Address gatewayIP, String networkId, Collection<String> securityGroups) {
this.hostIp = hostIp;
this.hostMac = hostMac;
this.deviceId = deviceId;
this.vni = vni;
this.gatewayIP = gatewayIP;
+ this.networkId = networkId;
this.securityGroups = securityGroups;
}
@@ -101,6 +103,15 @@
}
/**
+ * Returns network ID.
+ *
+ * @return network ID
+ */
+ public String networkId() {
+ return networkId;
+ }
+
+ /**
* Returns Security Group ID list.
*
* @return list of Security Group ID
@@ -129,11 +140,12 @@
private long vni;
private Ip4Address gatewayIP;
private Collection<String> securityGroups;
+ private String networkId;
/**
* Sets the IP address of the port.
*
- * @param gatewayIP
+ * @param gatewayIP gateway IP
* @return Builder reference
*/
public Builder setGatewayIP(Ip4Address gatewayIP) {
@@ -142,6 +154,17 @@
}
/**
+ * Sets the network ID.
+ *
+ * @param networkId network id
+ * @return Builder reference
+ */
+ public Builder setNetworkId(String networkId) {
+ this.networkId = checkNotNull(networkId, "networkId cannot be null");
+ return this;
+ }
+
+ /**
* Sets the host IP address of the port.
*
* @param hostIp host IP address
@@ -202,16 +225,7 @@
* @return OpenstackPortInfo reference
*/
public OpenstackPortInfo build() {
- return new OpenstackPortInfo(this);
+ return new OpenstackPortInfo(hostIp, hostMac, deviceId, vni, gatewayIP, networkId, securityGroups);
}
}
-
- private OpenstackPortInfo(Builder builder) {
- hostIp = builder.hostIp;
- hostMac = builder.hostMac;
- deviceId = builder.deviceId;
- vni = builder.vni;
- gatewayIP = builder.gatewayIP;
- securityGroups = builder.securityGroups;
- }
}