[ONOS-3697] Remove flow rules and dhcp mapping for router when it is removed.
Change-Id: I24e7c6d3fa0731822250c84ac5807f6192d371bf
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java
index 6207228..1b6250e 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java
@@ -16,6 +16,7 @@
package org.onosproject.openstackswitching.impl;
import org.onlab.packet.Ip4Address;
+import org.onlab.packet.MacAddress;
import org.onosproject.net.DeviceId;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -27,11 +28,13 @@
private final Ip4Address hostIp;
private final DeviceId deviceId;
+ private final MacAddress hostMac;
private final long vni;
- public OpenstackPortInfo(Ip4Address hostIp, DeviceId deviceId,
+ public OpenstackPortInfo(Ip4Address hostIp, MacAddress hostMac, DeviceId deviceId,
long vni) {
this.hostIp = hostIp;
+ this.hostMac = hostMac;
this.deviceId = deviceId;
this.vni = vni;
}
@@ -40,6 +43,10 @@
return hostIp;
}
+ public MacAddress mac() {
+ return hostMac;
+ }
+
public DeviceId deviceId() {
return deviceId;
}
@@ -54,6 +61,7 @@
public static final class Builder {
private Ip4Address hostIp;
+ private MacAddress hostMac;
private DeviceId deviceId;
private long vni;
@@ -62,6 +70,11 @@
return this;
}
+ public Builder setHostMac(MacAddress hostMac) {
+ this.hostMac = checkNotNull(hostMac, "hostMac cannot be bull");
+ return this;
+ }
+
public Builder setDeviceId(DeviceId deviceId) {
this.deviceId = checkNotNull(deviceId, "deviceId cannot be null");
return this;
@@ -78,6 +91,7 @@
private OpenstackPortInfo(Builder builder) {
hostIp = builder.hostIp;
+ hostMac = builder.hostMac;
deviceId = builder.deviceId;
vni = builder.vni;
}