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 632f7d2..9b695eb 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
@@ -245,6 +245,20 @@
     String intgBridgeName();
 
     /**
+     * Returns the entry port name of integration bridge.
+     *
+     * @return entry port name
+     */
+    String intgEntryPortName();
+
+    /**
+     * Return the port number of integration bridge's entry port.
+     *
+     * @return port number
+     */
+    PortNumber intgEntryPortNum();
+
+    /**
      * Returns external bridge name.
      *
      * @return external bridge name
@@ -336,6 +350,41 @@
     String tunToIntgPatchPortName();
 
     /**
+     * Returns kubernetes to openstack integration patch port name.
+     *
+     * @return kubernetes to openstack integration patch port name
+     */
+    String k8sToOsIntgPatchPortName();
+
+    /**
+     * Returns openstack to kubernetes integration patch port name.
+     *
+     * @return openstack to kubernetes integration patch port name
+     */
+    String osToK8sIntgPatchPortName();
+
+    /**
+     * Returns router to external bridge patch port name.
+     *
+     * @return router to external bridge patch port name
+     */
+    String routerToExtPatchPortName();
+
+    /**
+     * Returns external to router bridge patch port name.
+     *
+     * @return external to router bridge patch port name
+     */
+    String extToRouterPatchPortName();
+
+    /**
+     * Returns router part name.
+     *
+     * @return router port name
+     */
+    String routerPortName();
+
+    /**
      * Returns the GRE tunnel port number.
      *
      * @return GRE port number; null if the GRE tunnel port does not exist
@@ -406,6 +455,27 @@
     PortNumber tunToIntgPortNum();
 
     /**
+     * Returns the router to external bridge patch port number.
+     *
+     * @return patch port number
+     */
+    PortNumber routerToExtPortNum();
+
+    /**
+     * Returns the external to router bridge patch port number.
+     *
+     * @return patch port number
+     */
+    PortNumber extToRouterPortNum();
+
+    /**
+     * Returns the router port number.
+     *
+     * @return router port number
+     */
+    PortNumber routerPortNum();
+
+    /**
      * Returns the external bridge to router port number.
      *
      * @return port number, null if the port does not exist
