Fix: handle GRE and GENEVE net type for handling node port service

Change-Id: I2aa91361521384761db4e1ca59ef2c71711a02a4
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sNodePortHandler.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sNodePortHandler.java
index c8a0802..0a549cf 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sNodePortHandler.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/impl/K8sNodePortHandler.java
@@ -74,6 +74,7 @@
 import static org.onosproject.k8snetworking.api.Constants.SRC;
 import static org.onosproject.k8snetworking.util.K8sNetworkingUtil.getBclassIpPrefixFromCidr;
 import static org.onosproject.k8snetworking.util.K8sNetworkingUtil.getPropertyValue;
+import static org.onosproject.k8snetworking.util.K8sNetworkingUtil.tunnelPortNumByNetId;
 import static org.onosproject.k8snetworking.util.K8sNetworkingUtil.unshiftIpDomain;
 import static org.onosproject.k8snetworking.util.RulePopulatorUtil.buildExtension;
 import static org.onosproject.k8snetworking.util.RulePopulatorUtil.buildLoadExtension;
@@ -235,10 +236,12 @@
         ExtensionTreatment remote = buildExtension(deviceService,
                 k8sNodeLocal.intgBridge(), k8sNodeRemote.dataIp().getIp4Address());
 
-        // TODO: need to consider other network types
+        PortNumber portNumber = tunnelPortNumByNetId(
+                    k8sNodeLocal.hostname(), k8sNetworkService, k8sNodeLocal);
+
         TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder()
                 .extension(remote, k8sNodeLocal.intgBridge())
-                .setOutput(k8sNodeLocal.vxlanPortNum());
+                .setOutput(portNumber);
 
         k8sFlowRuleService.setRule(
                 appId,