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

Change-Id: Ic82a3ab72d71a774606b25997e283b93aedc6ec9
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index 246401b..c7d78e8 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -5013,7 +5013,7 @@
       "primitives" : []
     },
     {
-      "name" : "NoAction",
+      "name" : "nop",
       "id" : 79,
       "runtime_data" : [],
       "primitives" : []
@@ -13300,7 +13300,7 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 12,
             "source_fragment" : "return"
           }
@@ -13349,7 +13349,7 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 378,
+            "line" : 382,
             "column" : 12,
             "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fmeta.int_meta.new_bytes"
           }
@@ -13398,7 +13398,7 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 375,
+            "line" : 379,
             "column" : 8,
             "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
           }
@@ -13447,7 +13447,7 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 381,
+            "line" : 385,
             "column" : 12,
             "source_fragment" : "hdr.udp.len = hdr.udp.len + fmeta.int_meta.new_bytes"
           }
@@ -13496,7 +13496,7 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 384,
+            "line" : 388,
             "column" : 12,
             "source_fragment" : "hdr.intl4_shim.len_words = hdr.intl4_shim.len_words + fmeta.int_meta.new_words"
           }
@@ -15829,25 +15829,32 @@
             "column" : 10,
             "source_fragment" : "tb_int_insert"
           },
-          "key" : [],
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.int_header.is_valid",
+              "target" : ["int_header", "$valid$"],
+              "mask" : null
+            }
+          ],
           "match_type" : "exact",
           "type" : "simple",
-          "max_size" : 1024,
+          "max_size" : 1,
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [85, 76],
-          "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "NoAction"],
+          "action_ids" : [85, 79],
+          "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
           "base_default_next" : "node_94",
           "next_tables" : {
             "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_94",
-            "NoAction" : "node_94"
+            "nop" : "node_94"
           },
           "default_entry" : {
-            "action_id" : 76,
-            "action_const" : false,
+            "action_id" : 79,
+            "action_const" : true,
             "action_data" : [],
-            "action_entry_const" : false
+            "action_entry_const" : true
           }
         },
         {
@@ -15878,7 +15885,7 @@
           "id" : 59,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 280,
+            "line" : 284,
             "column" : 10,
             "source_fragment" : "tb_int_inst_0003"
           },
@@ -15896,7 +15903,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 77],
+          "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 76],
           "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
           "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
           "next_tables" : {
@@ -15919,7 +15926,7 @@
             "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
           },
           "default_entry" : {
-            "action_id" : 77,
+            "action_id" : 76,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -16140,7 +16147,7 @@
           "id" : 60,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 324,
+            "line" : 328,
             "column" : 10,
             "source_fragment" : "tb_int_inst_0407"
           },
@@ -16158,7 +16165,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 78],
+          "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 77],
           "actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
           "base_default_next" : "tbl_act_34",
           "next_tables" : {
@@ -16181,7 +16188,7 @@
             "NoAction" : "tbl_act_34"
           },
           "default_entry" : {
-            "action_id" : 78,
+            "action_id" : 77,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -16505,7 +16512,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [118, 79],
+          "action_ids" : [118, 78],
           "actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "NoAction"],
           "base_default_next" : "node_108",
           "next_tables" : {
@@ -16513,7 +16520,7 @@
             "NoAction" : "node_108"
           },
           "default_entry" : {
-            "action_id" : 79,
+            "action_id" : 78,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -16957,7 +16964,7 @@
           "id" : 32,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 12,
             "source_fragment" : "fmeta.int_meta.transit == false"
           },
@@ -17014,7 +17021,7 @@
           "id" : 34,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 377,
+            "line" : 381,
             "column" : 12,
             "source_fragment" : "hdr.ipv4.isValid()"
           },
@@ -17037,7 +17044,7 @@
           "id" : 35,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 380,
+            "line" : 384,
             "column" : 12,
             "source_fragment" : "hdr.udp.isValid()"
           },
@@ -17060,7 +17067,7 @@
           "id" : 36,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 383,
+            "line" : 387,
             "column" : 12,
             "source_fragment" : "hdr.intl4_shim.isValid()"
           },