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/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
index 8ad8e1e..c068c36 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
@@ -1033,7 +1033,7 @@
"binding" : "FabricIngress.filtering.fwd_classifier",
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 79,
+ "line" : 80,
"column" : 50,
"source_fragment" : "fwd_classifier_counter"
}
@@ -1057,7 +1057,7 @@
"binding" : "FabricIngress.forwarding.mpls",
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 59,
+ "line" : 63,
"column" : 50,
"source_fragment" : "mpls_counter"
}
@@ -1069,7 +1069,7 @@
"binding" : "FabricIngress.forwarding.routing_v4",
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 82,
+ "line" : 87,
"column" : 50,
"source_fragment" : "routing_v4_counter"
}
@@ -1105,7 +1105,7 @@
"binding" : "FabricIngress.next.xconnect",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 91,
+ "line" : 92,
"column" : 50,
"source_fragment" : "xconnect_counter"
}
@@ -1117,7 +1117,7 @@
"binding" : "FabricIngress.next.hashed",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 162,
+ "line" : 166,
"column" : 50,
"source_fragment" : "hashed_counter"
}
@@ -1129,7 +1129,7 @@
"binding" : "FabricIngress.next.multicast",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 205,
+ "line" : 210,
"column" : 50,
"source_fragment" : "multicast_counter"
}
@@ -1165,7 +1165,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"
}
@@ -1668,7 +1668,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 82,
+ "line" : 83,
"column" : 33,
"source_fragment" : "= fwd_type; ..."
}
@@ -1730,7 +1730,7 @@
],
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 62,
+ "line" : 66,
"column" : 35,
"source_fragment" : "= 0; ..."
}
@@ -2053,7 +2053,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 99,
+ "line" : 100,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -2292,7 +2292,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 208,
+ "line" : 213,
"column" : 8,
"source_fragment" : "standard_metadata.mcast_grp = group_id"
}
@@ -2321,7 +2321,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 209,
+ "line" : 214,
"column" : 37,
"source_fragment" : "= true; ..."
}
@@ -2379,7 +2379,7 @@
],
"source_info" : {
"filename" : "fabric.p4",
- "line" : 57,
+ "line" : 58,
"column" : 50,
"source_fragment" : "hdr.gtpu_ipv4"
}
@@ -2394,7 +2394,7 @@
],
"source_info" : {
"filename" : "fabric.p4",
- "line" : 57,
+ "line" : 58,
"column" : 65,
"source_fragment" : "hdr.gtpu_udp"
}
@@ -2625,7 +2625,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 103,
+ "line" : 105,
"column" : 37,
"source_fragment" : "= hdr.vlan_tag.eth_type; ..."
}
@@ -2644,7 +2644,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 104,
+ "line" : 106,
"column" : 36,
"source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
}
@@ -2663,7 +2663,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 105,
+ "line" : 107,
"column" : 37,
"source_fragment" : "= hdr.vlan_tag.pri; ..."
}
@@ -2682,7 +2682,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 106,
+ "line" : 108,
"column" : 37,
"source_fragment" : "= hdr.vlan_tag.cfi; ..."
}
@@ -2708,7 +2708,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 113,
+ "line" : 115,
"column" : 37,
"source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
}
@@ -3744,7 +3744,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 246,
+ "line" : 252,
"column" : 8,
"source_fragment" : "hdr.mpls.setInvalid()"
}
@@ -3763,7 +3763,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 248,
+ "line" : 254,
"column" : 33,
"source_fragment" : "= fabric_metadata.ip_eth_type; ..."
}
@@ -3785,7 +3785,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 253,
+ "line" : 259,
"column" : 8,
"source_fragment" : "hdr.mpls.setValid()"
}
@@ -3804,7 +3804,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 254,
+ "line" : 260,
"column" : 8,
"source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
}
@@ -3823,7 +3823,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 255,
+ "line" : 261,
"column" : 8,
"source_fragment" : "hdr.mpls.tc = 3w0"
}
@@ -3842,7 +3842,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 256,
+ "line" : 262,
"column" : 8,
"source_fragment" : "hdr.mpls.bos = 1w1"
}
@@ -3861,7 +3861,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. ..."
}
@@ -3902,7 +3902,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 265,
+ "line" : 271,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setValid()"
}
@@ -3921,7 +3921,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 266,
+ "line" : 272,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
}
@@ -3940,7 +3940,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 267,
+ "line" : 273,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
}
@@ -3959,7 +3959,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; ..."
}
@@ -3978,7 +3978,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; ..."
}
@@ -4023,7 +4023,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 280,
+ "line" : 286,
"column" : 8,
"source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.eth_type; ..."
}
@@ -4038,7 +4038,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 281,
+ "line" : 287,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -4113,7 +4113,7 @@
"parameters" : [],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 301,
+ "line" : 308,
"column" : 12,
"source_fragment" : "mark_to_drop()"
}
@@ -4190,7 +4190,7 @@
"parameters" : [],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 327,
"column" : 35,
"source_fragment" : "mark_to_drop()"
}
@@ -4239,7 +4239,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 319,
+ "line" : 326,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -4256,7 +4256,7 @@
"parameters" : [],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 324,
+ "line" : 331,
"column" : 39,
"source_fragment" : "mark_to_drop()"
}
@@ -4305,7 +4305,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 323,
+ "line" : 330,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -4319,7 +4319,7 @@
"id" : 0,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 41,
+ "line" : 42,
"column" : 8,
"source_fragment" : "FabricIngress"
},
@@ -4564,7 +4564,7 @@
"id" : 9,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 86,
+ "line" : 87,
"column" : 10,
"source_fragment" : "fwd_classifier"
},
@@ -4939,7 +4939,7 @@
"id" : 23,
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 43,
+ "line" : 46,
"column" : 10,
"source_fragment" : "bridging"
},
@@ -4982,7 +4982,7 @@
"id" : 24,
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 67,
+ "line" : 71,
"column" : 10,
"source_fragment" : "mpls"
},
@@ -5019,7 +5019,7 @@
"id" : 25,
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 93,
+ "line" : 101,
"column" : 10,
"source_fragment" : "routing_v4"
},
@@ -5137,7 +5137,7 @@
],
"match_type" : "ternary",
"type" : "simple",
- "max_size" : 128,
+ "max_size" : 1024,
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
@@ -5163,7 +5163,7 @@
"id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 103,
+ "line" : 104,
"column" : 10,
"source_fragment" : "xconnect"
},
@@ -5207,7 +5207,7 @@
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 180,
+ "line" : 184,
"column" : 10,
"source_fragment" : "hashed"
},
@@ -5241,7 +5241,7 @@
"id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 213,
+ "line" : 218,
"column" : 10,
"source_fragment" : "multicast"
},
@@ -5363,11 +5363,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" : [
@@ -5501,7 +5501,7 @@
"id" : 4,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 102,
+ "line" : 104,
"column" : 12,
"source_fragment" : "hdr.vlan_tag.isValid()"
},
@@ -5524,7 +5524,7 @@
"id" : 5,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 108,
+ "line" : 110,
"column" : 12,
"source_fragment" : "!hdr.mpls.isValid()"
},
@@ -5648,7 +5648,7 @@
"id" : 10,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 66,
+ "line" : 67,
"column" : 12,
"source_fragment" : "fabric_metadata.skip_forwarding == false"
},
@@ -5681,7 +5681,7 @@
"id" : 11,
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 131,
+ "line" : 141,
"column" : 12,
"source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
},
@@ -5707,7 +5707,7 @@
"id" : 12,
"source_info" : {
"filename" : "include/control/forwarding.p4",
- "line" : 132,
+ "line" : 142,
"column" : 17,
"source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
},
@@ -5733,7 +5733,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"
},
@@ -5759,7 +5759,7 @@
"id" : 14,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 70,
+ "line" : 71,
"column" : 12,
"source_fragment" : "fabric_metadata.skip_next == false"
},
@@ -5846,7 +5846,7 @@
"id" : 1,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 84,
+ "line" : 85,
"column" : 8,
"source_fragment" : "FabricEgress"
},
@@ -5972,7 +5972,7 @@
"id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 285,
+ "line" : 291,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -6321,7 +6321,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 299,
+ "line" : 306,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -6374,7 +6374,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 304,
+ "line" : 311,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -6400,7 +6400,7 @@
"id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 305,
+ "line" : 312,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -6423,7 +6423,7 @@
"id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 310,
+ "line" : 317,
"column" : 12,
"source_fragment" : "!egress_vlan.apply().hit"
},
@@ -6453,7 +6453,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"
},
@@ -6479,7 +6479,7 @@
"id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 318,
+ "line" : 325,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -6502,7 +6502,7 @@
"id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 327,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -6528,7 +6528,7 @@
"id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 322,
+ "line" : 329,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -6551,7 +6551,7 @@
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 324,
+ "line" : 331,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},