Support flat network type

Change-Id: Idacd79b9799466ac800a689a4700163ce74c3ca1
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
index 94cdd42..b2d90a4 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingHandler.java
@@ -89,13 +89,13 @@
 import static org.onosproject.openstacknetworking.api.Constants.FORWARDING_TABLE;
 import static org.onosproject.openstacknetworking.api.Constants.GW_COMMON_TABLE;
 import static org.onosproject.openstacknetworking.api.Constants.OPENSTACK_NETWORKING_APP_ID;
+import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ADMIN_RULE;
 import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_EXTERNAL_ROUTING_RULE;
 import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ICMP_RULE;
 import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_INTERNAL_ROUTING_RULE;
 import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_STATEFUL_SNAT_RULE;
 import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_SWITCHING_RULE;
 import static org.onosproject.openstacknetworking.api.Constants.ROUTING_TABLE;
-import static org.onosproject.openstacknetworking.api.Constants.PRIORITY_ADMIN_RULE;
 import static org.onosproject.openstacknetworking.impl.RulePopulatorUtil.buildExtension;
 import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.COMPUTE;
 import static org.onosproject.openstacknode.api.OpenstackNode.NodeType.GATEWAY;
@@ -310,6 +310,10 @@
         Subnet osSubnet = osNetworkService.subnet(routerIface.getSubnetId());
         Network osNet = osNetworkService.network(osSubnet.getNetworkId());
 
+        if (osNet.getNetworkType() == NetworkType.FLAT) {
+            return;
+        }
+
         Optional<Router> osRouter = osRouterService.routers().stream()
                 .filter(router -> osRouterService.routerInterfaces(routerIface.getId()) != null)
                 .findAny();
@@ -1041,6 +1045,9 @@
         }
 
         private void instPortDetected(InstancePort instPort) {
+            if (osNetworkAdminService.network(instPort.networkId()).getNetworkType() == NetworkType.FLAT) {
+                return;
+            }
             osNodeService.completeNodes(GATEWAY)
                     .forEach(gwNode -> setRulesForSnatIngressRule(gwNode.intgBridge(),
                                     Long.parseLong(osNetworkService.network(instPort.networkId()).getProviderSegID()),
@@ -1050,6 +1057,9 @@
         }
 
         private void instPortRemoved(InstancePort instPort) {
+            if (osNetworkAdminService.network(instPort.networkId()).getNetworkType() == NetworkType.FLAT) {
+                return;
+            }
             osNodeService.completeNodes(GATEWAY)
                     .forEach(gwNode -> setRulesForSnatIngressRule(gwNode.intgBridge(),
                                     Long.parseLong(osNetworkService.network(instPort.networkId()).getProviderSegID()),