Refactored INT service impl to support multi-instance ONOS and fabric.p4

Change-Id: Ic82a3ab72d71a774606b25997e283b93aedc6ec9
diff --git a/pipelines/fabric/src/main/resources/include/int/int_transit.p4 b/pipelines/fabric/src/main/resources/include/int/int_transit.p4
index 4d4568b..579fa07 100644
--- a/pipelines/fabric/src/main/resources/include/int/int_transit.p4
+++ b/pipelines/fabric/src/main/resources/include/int/int_transit.p4
@@ -269,11 +269,17 @@
 
     // Default action used to set switch ID.
     table tb_int_insert {
-        key = {}
+        // We don't really need a key here, however we add a dummy one as a
+        // workaround to ONOS inability to properly support default actions.
+        key = {
+            hdr.int_header.isValid(): exact @name("hdr.int_header.is_valid");
+        }
         actions = {
             init_metadata;
+            @defaultonly nop;
         }
-        size = 0;
+        const default_action = nop;
+        size = 1;
     }
 
     // Table to process instruction bits 0-3.