[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;
     }