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.