Support compiling fabric.p4 with arbitrary table sizes

By using preprocessor macros. Also, change expected location of tofino
compiler outputs when building the pipeconf.

Change-Id: I98ea95b61d57e725c88e52a3bfd95618f3c407cb
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
index 385b6bf..659a31b 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
@@ -1359,7 +1359,7 @@
       "binding" : "FabricIngress.filtering.fwd_classifier",
       "source_info" : {
         "filename" : "include/control/filtering.p4",
-        "line" : 79,
+        "line" : 80,
         "column" : 50,
         "source_fragment" : "fwd_classifier_counter"
       }
@@ -1383,7 +1383,7 @@
       "binding" : "FabricIngress.forwarding.mpls",
       "source_info" : {
         "filename" : "include/control/forwarding.p4",
-        "line" : 59,
+        "line" : 63,
         "column" : 50,
         "source_fragment" : "mpls_counter"
       }
@@ -1395,7 +1395,7 @@
       "binding" : "FabricIngress.forwarding.routing_v4",
       "source_info" : {
         "filename" : "include/control/forwarding.p4",
-        "line" : 82,
+        "line" : 87,
         "column" : 50,
         "source_fragment" : "routing_v4_counter"
       }
@@ -1431,7 +1431,7 @@
       "binding" : "FabricIngress.next.xconnect",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 91,
+        "line" : 92,
         "column" : 50,
         "source_fragment" : "xconnect_counter"
       }
@@ -1443,7 +1443,7 @@
       "binding" : "FabricIngress.next.hashed",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 162,
+        "line" : 166,
         "column" : 50,
         "source_fragment" : "hashed_counter"
       }
@@ -1455,7 +1455,7 @@
       "binding" : "FabricIngress.next.multicast",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 205,
+        "line" : 210,
         "column" : 50,
         "source_fragment" : "multicast_counter"
       }
@@ -1503,7 +1503,7 @@
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 277,
+        "line" : 283,
         "column" : 50,
         "source_fragment" : "egress_vlan_counter"
       }
@@ -2048,7 +2048,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 82,
+            "line" : 83,
             "column" : 33,
             "source_fragment" : "= fwd_type; ..."
           }
@@ -2110,7 +2110,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 62,
+            "line" : 66,
             "column" : 35,
             "source_fragment" : "= 0; ..."
           }
@@ -2433,7 +2433,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 99,
+            "line" : 100,
             "column" : 32,
             "source_fragment" : "= next_id; ..."
           }
@@ -2672,7 +2672,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 208,
+            "line" : 213,
             "column" : 8,
             "source_fragment" : "standard_metadata.mcast_grp = group_id"
           }
@@ -2701,7 +2701,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 209,
+            "line" : 214,
             "column" : 37,
             "source_fragment" : "= true; ..."
           }
@@ -2759,7 +2759,7 @@
           ],
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 57,
+            "line" : 58,
             "column" : 50,
             "source_fragment" : "hdr.gtpu_ipv4"
           }
@@ -2774,7 +2774,7 @@
           ],
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 57,
+            "line" : 58,
             "column" : 65,
             "source_fragment" : "hdr.gtpu_udp"
           }
@@ -3005,7 +3005,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 103,
+            "line" : 105,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
           }
@@ -3024,7 +3024,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 104,
+            "line" : 106,
             "column" : 36,
             "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           }
@@ -3043,7 +3043,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 105,
+            "line" : 107,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.pri; ..."
           }
@@ -3062,7 +3062,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 106,
+            "line" : 108,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.cfi; ..."
           }
@@ -3088,7 +3088,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 113,
+            "line" : 115,
             "column" : 37,
             "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
           }
@@ -10573,7 +10573,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 246,
+            "line" : 252,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setInvalid()"
           }
@@ -10592,7 +10592,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 248,
+            "line" : 254,
             "column" : 33,
             "source_fragment" : "= fabric_metadata.ip_eth_type; ..."
           }
@@ -10614,7 +10614,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 253,
+            "line" : 259,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
           }
@@ -10633,7 +10633,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 254,
+            "line" : 260,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
           }
@@ -10652,7 +10652,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 255,
+            "line" : 261,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = 3w0"
           }
@@ -10671,7 +10671,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 256,
+            "line" : 262,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
           }
@@ -10690,7 +10690,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 257,
+            "line" : 263,
             "column" : 8,
             "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
           }
@@ -10731,7 +10731,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 265,
+            "line" : 271,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setValid()"
           }
@@ -10750,7 +10750,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 266,
+            "line" : 272,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
           }
@@ -10769,7 +10769,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 267,
+            "line" : 273,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
           }
@@ -10788,7 +10788,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 268,
+            "line" : 274,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.eth_type = fabric_metadata.eth_type; ..."
           }
@@ -10807,7 +10807,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 269,
+            "line" : 275,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
           }
@@ -10852,7 +10852,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 280,
+            "line" : 286,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.eth_type; ..."
           }
@@ -10867,7 +10867,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 281,
+            "line" : 287,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
           }
@@ -10942,7 +10942,7 @@
           "parameters" : [],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 301,
+            "line" : 308,
             "column" : 12,
             "source_fragment" : "mark_to_drop()"
           }
@@ -11019,7 +11019,7 @@
           "parameters" : [],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 320,
+            "line" : 327,
             "column" : 35,
             "source_fragment" : "mark_to_drop()"
           }
@@ -11068,7 +11068,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 319,
+            "line" : 326,
             "column" : 12,
             "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
           }
@@ -11085,7 +11085,7 @@
           "parameters" : [],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 324,
+            "line" : 331,
             "column" : 39,
             "source_fragment" : "mark_to_drop()"
           }
@@ -11134,7 +11134,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 323,
+            "line" : 330,
             "column" : 16,
             "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
           }
@@ -11410,7 +11410,7 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 41,
+        "line" : 42,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
@@ -11655,7 +11655,7 @@
           "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 86,
+            "line" : 87,
             "column" : 10,
             "source_fragment" : "fwd_classifier"
           },
@@ -12030,7 +12030,7 @@
           "id" : 23,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 43,
+            "line" : 46,
             "column" : 10,
             "source_fragment" : "bridging"
           },
@@ -12073,7 +12073,7 @@
           "id" : 24,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 67,
+            "line" : 71,
             "column" : 10,
             "source_fragment" : "mpls"
           },
@@ -12110,7 +12110,7 @@
           "id" : 25,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 93,
+            "line" : 101,
             "column" : 10,
             "source_fragment" : "routing_v4"
           },
@@ -12228,7 +12228,7 @@
           ],
           "match_type" : "ternary",
           "type" : "simple",
-          "max_size" : 128,
+          "max_size" : 1024,
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
@@ -12254,7 +12254,7 @@
           "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 103,
+            "line" : 104,
             "column" : 10,
             "source_fragment" : "xconnect"
           },
@@ -12298,7 +12298,7 @@
           "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 180,
+            "line" : 184,
             "column" : 10,
             "source_fragment" : "hashed"
           },
@@ -12332,7 +12332,7 @@
           "id" : 29,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 213,
+            "line" : 218,
             "column" : 10,
             "source_fragment" : "multicast"
           },
@@ -12491,11 +12491,11 @@
           "id" : 0,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 161,
-            "column" : 55,
+            "line" : 165,
+            "column" : 57,
             "source_fragment" : "hashed_selector"
           },
-          "max_size" : 64,
+          "max_size" : 1024,
           "selector" : {
             "algo" : "crc16",
             "input" : [
@@ -12629,7 +12629,7 @@
           "id" : 4,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 102,
+            "line" : 104,
             "column" : 12,
             "source_fragment" : "hdr.vlan_tag.isValid()"
           },
@@ -12652,7 +12652,7 @@
           "id" : 5,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 108,
+            "line" : 110,
             "column" : 12,
             "source_fragment" : "!hdr.mpls.isValid()"
           },
@@ -12776,7 +12776,7 @@
           "id" : 10,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 66,
+            "line" : 67,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding == false"
           },
@@ -12809,7 +12809,7 @@
           "id" : 11,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 131,
+            "line" : 141,
             "column" : 12,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
           },
@@ -12835,7 +12835,7 @@
           "id" : 12,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 132,
+            "line" : 142,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
           },
@@ -12861,7 +12861,7 @@
           "id" : 13,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
-            "line" : 133,
+            "line" : 143,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
           },
@@ -12887,7 +12887,7 @@
           "id" : 14,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 70,
+            "line" : 71,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next == false"
           },
@@ -12974,7 +12974,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 84,
+        "line" : 85,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
@@ -13100,7 +13100,7 @@
           "id" : 39,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 285,
+            "line" : 291,
             "column" : 10,
             "source_fragment" : "egress_vlan"
           },
@@ -14395,7 +14395,7 @@
           "id" : 20,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 299,
+            "line" : 306,
             "column" : 12,
             "source_fragment" : "fabric_metadata.is_multicast == true ..."
           },
@@ -14448,7 +14448,7 @@
           "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 304,
+            "line" : 311,
             "column" : 12,
             "source_fragment" : "fabric_metadata.mpls_label == 0"
           },
@@ -14474,7 +14474,7 @@
           "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 305,
+            "line" : 312,
             "column" : 16,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -14497,7 +14497,7 @@
           "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 310,
+            "line" : 317,
             "column" : 12,
             "source_fragment" : "!egress_vlan.apply().hit"
           },
@@ -14527,7 +14527,7 @@
           "id" : 24,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 312,
+            "line" : 319,
             "column" : 16,
             "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
           },
@@ -14553,7 +14553,7 @@
           "id" : 25,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 318,
+            "line" : 325,
             "column" : 12,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -14576,7 +14576,7 @@
           "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 320,
+            "line" : 327,
             "column" : 16,
             "source_fragment" : "hdr.mpls.ttl == 0"
           },
@@ -14602,7 +14602,7 @@
           "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 322,
+            "line" : 329,
             "column" : 15,
             "source_fragment" : "hdr.ipv4.isValid()"
           },
@@ -14625,7 +14625,7 @@
           "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 324,
+            "line" : 331,
             "column" : 20,
             "source_fragment" : "hdr.ipv4.ttl == 0"
           },