Listen on k8s port event to create instance port and host

Change-Id: I59ab1f5f422ce2ba8f5432279ceec6d77cd96f06
diff --git a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/Constants.java b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/Constants.java
index b6382d7..82b63cb 100644
--- a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/Constants.java
+++ b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/Constants.java
@@ -28,14 +28,14 @@
     public static final String LOCAL_BRIDGE = "kbr-local";
     public static final String TUNNEL_BRIDGE = "kbr-tun";
     public static final String EXTERNAL_ROUTER = "kbr-router";
-    public static final String INTEGRATION_TO_EXTERNAL_BRIDGE = "kbr-int-ex";
-    public static final String PHYSICAL_EXTERNAL_BRIDGE = "phy-kbr-ex";
-    public static final String INTEGRATION_TO_LOCAL_BRIDGE = "kbr-int-local";
-    public static final String LOCAL_TO_INTEGRATION_BRIDGE = "kbr-local-int";
-    public static final String EXTERNAL_TO_ROUTER = "kbr-ex-router";
-    public static final String ROUTER_TO_EXTERNAL = "kbr-router-ex";
-    public static final String INTEGRATION_TO_TUN_BRIDGE = "kbr-int-tun";
-    public static final String TUN_TO_INTEGRATION_BRIDGE = "kbr-tun-int";
+    public static final String INTEGRATION_TO_EXTERNAL_BRIDGE = "int-ex";
+    public static final String PHYSICAL_EXTERNAL_BRIDGE = "ex-int";
+    public static final String INTEGRATION_TO_LOCAL_BRIDGE = "int-local";
+    public static final String LOCAL_TO_INTEGRATION_BRIDGE = "local-int";
+    public static final String EXTERNAL_TO_ROUTER = "ex-router";
+    public static final String ROUTER_TO_EXTERNAL = "router-ex";
+    public static final String INTEGRATION_TO_TUN_BRIDGE = "int-tun";
+    public static final String TUN_TO_INTEGRATION_BRIDGE = "tun-int";
     public static final String VXLAN_TUNNEL = "vxlan";
     public static final String GRE_TUNNEL = "gre";
     public static final String GENEVE_TUNNEL = "geneve";
diff --git a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
index 7e4b4bc..6bb2001 100644
--- a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
+++ b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
@@ -190,7 +190,24 @@
 
     @Override
     public DeviceId tunBridge() {
-        return tunBridge;
+
+        if (mode == PASSTHROUGH) {
+            K8sHostService hostService =
+                    DefaultServiceDirectory.getService(K8sHostService.class);
+            DeviceId deviceId = null;
+            for (K8sHost host : hostService.hosts()) {
+                if (host.nodeNames().contains(hostname())) {
+                    for (K8sTunnelBridge bridge : host.tunBridges()) {
+                        if (bridge.tunnelId() == segmentId()) {
+                            deviceId = bridge.deviceId();
+                        }
+                    }
+                }
+            }
+            return deviceId;
+        } else {
+            return tunBridge;
+        }
     }
 
     @Override
@@ -403,7 +420,28 @@
 
     @Override
     public PortNumber tunToIntgPortNum() {
-        return portNumber(tunBridge, tunToIntgPatchPortName());
+        if (mode() == PASSTHROUGH) {
+            K8sHostService hostService =
+                    DefaultServiceDirectory.getService(K8sHostService.class);
+            Port port = null;
+            for (K8sHost host : hostService.hosts()) {
+                if (host.nodeNames().contains(hostname())) {
+                    for (K8sTunnelBridge bridge : host.tunBridges()) {
+                        if (bridge.tunnelId() == segmentId()) {
+                            port = port(bridge.deviceId(), tunToIntgPatchPortName());
+                        }
+                    }
+                }
+            }
+
+            if (port == null) {
+                return null;
+            } else {
+                return port.number();
+            }
+        } else {
+            return portNumber(tunBridge, tunToIntgPatchPortName());
+        }
     }
 
     @Override