Support NodePort communication model at k8s passthrough mode

Change-Id: I2179ebc9a4812493619c56aa270d8fc4821efbb2
diff --git a/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sNodeCodec.java b/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sNodeCodec.java
index 4f4e6bf..6e00655 100644
--- a/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sNodeCodec.java
+++ b/apps/k8s-node/app/src/main/java/org/onosproject/k8snode/codec/K8sNodeCodec.java
@@ -24,6 +24,7 @@
 import org.onosproject.codec.JsonCodec;
 import org.onosproject.k8snode.api.DefaultK8sNode;
 import org.onosproject.k8snode.api.K8sNode;
+import org.onosproject.k8snode.api.K8sNodeInfo;
 import org.onosproject.k8snode.api.K8sNodeState;
 import org.onosproject.net.DeviceId;
 import org.slf4j.Logger;
@@ -49,6 +50,7 @@
     private static final String MANAGEMENT_IP = "managementIp";
     private static final String DATA_IP = "dataIp";
     private static final String NODE_IP = "nodeIp";
+    private static final String NODE_MAC = "nodeMac";
     private static final String INTEGRATION_BRIDGE = "integrationBridge";
     private static final String EXTERNAL_BRIDGE = "externalBridge";
     private static final String LOCAL_BRIDGE = "localBridge";
@@ -95,6 +97,10 @@
             result.put(DATA_IP, node.dataIp().toString());
         }
 
+        if (node.nodeMac() != null) {
+            result.put(NODE_MAC, node.nodeMac().toString());
+        }
+
         if (node.extIntf() != null) {
             result.put(EXTERNAL_INTF, node.extIntf());
         }
@@ -135,13 +141,15 @@
         String nIp = nullIsIllegal(json.get(NODE_IP).asText(),
                 NODE_IP + MISSING_MESSAGE);
 
+        K8sNodeInfo nodeInfo = new K8sNodeInfo(IpAddress.valueOf(nIp), null);
+
         DefaultK8sNode.Builder nodeBuilder = DefaultK8sNode.builder()
                 .clusterName(clusterName)
                 .hostname(hostname)
                 .type(K8sNode.Type.valueOf(type))
                 .state(K8sNodeState.INIT)
                 .managementIp(IpAddress.valueOf(mIp))
-                .nodeIp(IpAddress.valueOf(nIp));
+                .nodeInfo(nodeInfo);
 
         if (json.get(DATA_IP) != null) {
             nodeBuilder.dataIp(IpAddress.valueOf(json.get(DATA_IP).asText()));