Support NodePort communication  model at k8s passthrough mode

Change-Id: I2179ebc9a4812493619c56aa270d8fc4821efbb2
diff --git a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/K8sNode.java b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/K8sNode.java
index 5c13bc1..4609f25 100644
--- a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/K8sNode.java
+++ b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/K8sNode.java
@@ -187,13 +187,27 @@
     IpAddress dataIp();
 
     /**
+     * Returns the kubernetes node info.
+     *
+     * @return node info; null if node info not exists
+     */
+    K8sNodeInfo nodeInfo();
+
+    /**
      * Returns the kubernetes node IP address.
      *
-     * @return ip address; null if node has no IP address
+     * @return node IP address; null if the node IP not exists
      */
     IpAddress nodeIp();
 
     /**
+     * Returns the kubernetes node MAC address.
+     *
+     * @return node MAC address; null if the node MAC not exists
+     */
+    MacAddress nodeMac();
+
+    /**
      * Returns the initialization state of the node.
      *
      * @return node state
@@ -224,6 +238,14 @@
     K8sNode updateExtGatewayMac(MacAddress macAddress);
 
     /**
+     * Returns new kubernetes node instance with given node info.
+     *
+     * @param nodeInfo updated node info
+     * @return updated kubernetes node
+     */
+    K8sNode updateNodeInfo(K8sNodeInfo nodeInfo);
+
+    /**
      * Returns GRE port name.
      *
      * @return GRE port name
@@ -268,18 +290,20 @@
     /**
      * Returns the port MAC address with the given patch port name.
      *
+     * @param deviceId device identifier
      * @param portName patch port name
      * @return port MAC address
      */
-    MacAddress portMacByName(String portName);
+    MacAddress portMacByName(DeviceId deviceId, String portName);
 
     /**
      * Returns the port number with the given patch port name.
      *
+     * @param deviceId device identifier
      * @param portName patch port name
      * @return port number
      */
-    PortNumber portNumByName(String portName);
+    PortNumber portNumByName(DeviceId deviceId, String portName);
 
     /**
      * Return the port number of integration bridge's entry port.
@@ -677,12 +701,12 @@
         Builder dataIp(IpAddress dataIp);
 
         /**
-         * Returns the kubernetes node builder with supplied node IP address.
+         * Returns the kubernetes node builder with supplied node info.
          *
-         * @param nodeIp node IP address
+         * @param nodeInfo node info
          * @return kubernetes node builder
          */
-        Builder nodeIp(IpAddress nodeIp);
+        Builder nodeInfo(K8sNodeInfo nodeInfo);
 
         /**
          * Returns kubernetes node builder with supplied node state.