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