Minor refactoring for fabric.p4
Change-Id: I8c5bac678ead88bda42a0b49ea19d7c968bcc305
diff --git a/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json b/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json
index 5c6e645..2edfeeb 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json
@@ -835,8 +835,80 @@
"meter_arrays" : [],
"counter_arrays" : [
{
- "name" : "port_counters_control.egress_port_counter",
+ "name" : "filtering.ingress_port_vlan_counter",
"id" : 0,
+ "is_direct" : true,
+ "binding" : "filtering.ingress_port_vlan"
+ },
+ {
+ "name" : "filtering.fwd_classifier_counter",
+ "id" : 1,
+ "is_direct" : true,
+ "binding" : "filtering.fwd_classifier"
+ },
+ {
+ "name" : "forwarding.bridging_counter",
+ "id" : 2,
+ "is_direct" : true,
+ "binding" : "forwarding.bridging"
+ },
+ {
+ "name" : "forwarding.mpls_counter",
+ "id" : 3,
+ "is_direct" : true,
+ "binding" : "forwarding.mpls"
+ },
+ {
+ "name" : "forwarding.unicast_v4_counter",
+ "id" : 4,
+ "is_direct" : true,
+ "binding" : "forwarding.unicast_v4"
+ },
+ {
+ "name" : "forwarding.multicast_v4_counter",
+ "id" : 5,
+ "is_direct" : true,
+ "binding" : "forwarding.multicast_v4"
+ },
+ {
+ "name" : "forwarding.unicast_v6_counter",
+ "id" : 6,
+ "is_direct" : true,
+ "binding" : "forwarding.unicast_v6"
+ },
+ {
+ "name" : "forwarding.multicast_v6_counter",
+ "id" : 7,
+ "is_direct" : true,
+ "binding" : "forwarding.multicast_v6"
+ },
+ {
+ "name" : "forwarding.acl_counter",
+ "id" : 8,
+ "is_direct" : true,
+ "binding" : "forwarding.acl"
+ },
+ {
+ "name" : "next.simple_counter",
+ "id" : 9,
+ "is_direct" : true,
+ "binding" : "next.simple"
+ },
+ {
+ "name" : "next.hashed_counter",
+ "id" : 10,
+ "is_direct" : true,
+ "binding" : "next.hashed"
+ },
+ {
+ "name" : "next.broadcast_counter",
+ "id" : 11,
+ "is_direct" : true,
+ "binding" : "next.broadcast"
+ },
+ {
+ "name" : "port_counters_control.egress_port_counter",
+ "id" : 12,
"source_info" : {
"filename" : "./include/control/port_counter.p4",
"line" : 23,
@@ -848,7 +920,7 @@
},
{
"name" : "port_counters_control.ingress_port_counter",
- "id" : 1,
+ "id" : 13,
"source_info" : {
"filename" : "./include/control/port_counter.p4",
"line" : 24,
@@ -866,7 +938,7 @@
"id" : 0,
"source_info" : {
"filename" : "./include/checksum.p4",
- "line" : 51,
+ "line" : 48,
"column" : 8,
"source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
},
@@ -923,7 +995,7 @@
"id" : 1,
"source_info" : {
"filename" : "./include/checksum.p4",
- "line" : 25,
+ "line" : 24,
"column" : 8,
"source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
},
@@ -1054,7 +1126,7 @@
"parameters" : [],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 29,
+ "line" : 31,
"column" : 8,
"source_fragment" : "mark_to_drop()"
}
@@ -1085,7 +1157,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 33,
+ "line" : 35,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
}
@@ -1112,7 +1184,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 39,
+ "line" : 41,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setValid()"
}
@@ -1131,7 +1203,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 40,
+ "line" : 42,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.cfi = 0"
}
@@ -1150,7 +1222,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 41,
+ "line" : 43,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.pri = 0"
}
@@ -1169,7 +1241,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 42,
+ "line" : 44,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
}
@@ -1207,7 +1279,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 33,
+ "line" : 35,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
}
@@ -1236,7 +1308,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 47,
+ "line" : 49,
"column" : 8,
"source_fragment" : "fabric_metadata.pop_vlan_at_egress = true"
}
@@ -1267,7 +1339,7 @@
],
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 51,
+ "line" : 53,
"column" : 8,
"source_fragment" : "fabric_metadata.fwd_type = fwd_type"
}
@@ -1284,7 +1356,7 @@
"parameters" : [],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 31,
+ "line" : 39,
"column" : 8,
"source_fragment" : "mark_to_drop()"
}
@@ -1315,7 +1387,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 35,
+ "line" : 43,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1346,7 +1418,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 35,
+ "line" : 43,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1377,7 +1449,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 35,
+ "line" : 43,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1408,7 +1480,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 35,
+ "line" : 43,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1439,7 +1511,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 35,
+ "line" : 43,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1470,7 +1542,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 35,
+ "line" : 43,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1497,7 +1569,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 39,
+ "line" : 47,
"column" : 8,
"source_fragment" : "hdr.mpls.setInvalid()"
}
@@ -1516,7 +1588,7 @@
],
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 40,
+ "line" : 48,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -1573,7 +1645,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 30,
+ "line" : 33,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = port_num"
}
@@ -1608,7 +1680,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 34,
+ "line" : 37,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
}
@@ -1637,7 +1709,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 37,
+ "line" : 40,
"column" : 8,
"source_fragment" : "fabric_metadata.pop_vlan_at_egress = false"
}
@@ -1656,7 +1728,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 30,
+ "line" : 33,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = port_num; ..."
}
@@ -1695,7 +1767,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 42,
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.ethernet.src_addr = smac; ..."
}
@@ -1714,7 +1786,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 46,
+ "line" : 49,
"column" : 8,
"source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
}
@@ -1733,7 +1805,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 30,
+ "line" : 33,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = port_num; ..."
}
@@ -1772,7 +1844,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 42,
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.ethernet.src_addr = smac; ..."
}
@@ -1791,7 +1863,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 46,
+ "line" : 49,
"column" : 8,
"source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
}
@@ -1810,7 +1882,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 30,
+ "line" : 33,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = port_num; ..."
}
@@ -1845,7 +1917,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 56,
+ "line" : 59,
"column" : 8,
"source_fragment" : "standard_metadata.mcast_grp = gid"
}
@@ -1864,7 +1936,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 42,
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.ethernet.src_addr = smac; ..."
}
@@ -1907,7 +1979,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 42,
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.ethernet.src_addr = smac; ..."
}
@@ -1926,7 +1998,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 46,
+ "line" : 49,
"column" : 8,
"source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
}
@@ -1945,7 +2017,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 30,
+ "line" : 33,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = port_num; ..."
}
@@ -1960,7 +2032,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 62,
+ "line" : 65,
"column" : 8,
"source_fragment" : "hdr.mpls.setValid()"
}
@@ -1998,7 +2070,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 64,
+ "line" : 67,
"column" : 8,
"source_fragment" : "hdr.mpls.label = label; ..."
}
@@ -2017,7 +2089,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 65,
+ "line" : 68,
"column" : 8,
"source_fragment" : "hdr.mpls.tc = tc; ..."
}
@@ -2036,7 +2108,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 66,
+ "line" : 69,
"column" : 8,
"source_fragment" : "hdr.mpls.bos = 1w1"
}
@@ -2063,7 +2135,7 @@
]
},
{
- "name" : "next.mpls_routing_v6",
+ "name" : "next.mpls_routing_v4",
"id" : 30,
"runtime_data" : [
{
@@ -2098,7 +2170,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 42,
+ "line" : 45,
"column" : 8,
"source_fragment" : "hdr.ethernet.src_addr = smac; ..."
}
@@ -2117,7 +2189,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 46,
+ "line" : 49,
"column" : 8,
"source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
}
@@ -2136,7 +2208,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 30,
+ "line" : 33,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = port_num; ..."
}
@@ -2151,7 +2223,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 62,
+ "line" : 65,
"column" : 8,
"source_fragment" : "hdr.mpls.setValid()"
}
@@ -2189,7 +2261,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 64,
+ "line" : 67,
"column" : 8,
"source_fragment" : "hdr.mpls.label = label; ..."
}
@@ -2208,7 +2280,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 65,
+ "line" : 68,
"column" : 8,
"source_fragment" : "hdr.mpls.tc = tc; ..."
}
@@ -2227,7 +2299,198 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 66,
+ "line" : 69,
+ "column" : 8,
+ "source_fragment" : "hdr.mpls.bos = 1w1"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["mpls", "ttl"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x40"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/../header.p4",
+ "line" : 19,
+ "column" : 32,
+ "source_fragment" : "64; ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "next.mpls_routing_v6",
+ "id" : 31,
+ "runtime_data" : [
+ {
+ "name" : "port_num",
+ "bitwidth" : 9
+ },
+ {
+ "name" : "smac",
+ "bitwidth" : 48
+ },
+ {
+ "name" : "dmac",
+ "bitwidth" : 48
+ },
+ {
+ "name" : "label",
+ "bitwidth" : 20
+ }
+ ],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ethernet", "src_addr"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 1
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 45,
+ "column" : 8,
+ "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ethernet", "dst_addr"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 2
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 49,
+ "column" : 8,
+ "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_spec"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 0
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 33,
+ "column" : 8,
+ "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
+ }
+ },
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "mpls"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 65,
+ "column" : 8,
+ "source_fragment" : "hdr.mpls.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ethernet", "ether_type"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x8847"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/../define.p4",
+ "line" : 33,
+ "column" : 31,
+ "source_fragment" : "0x8847; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["mpls", "label"]
+ },
+ {
+ "type" : "runtime_data",
+ "value" : 3
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 67,
+ "column" : 8,
+ "source_fragment" : "hdr.mpls.label = label; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["mpls", "tc"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 68,
+ "column" : 8,
+ "source_fragment" : "hdr.mpls.tc = tc; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["mpls", "bos"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ ],
+ "source_info" : {
+ "filename" : "./include/control/next.p4",
+ "line" : 69,
"column" : 8,
"source_fragment" : "hdr.mpls.bos = 1w1"
}
@@ -2255,7 +2518,7 @@
},
{
"name" : "act",
- "id" : 31,
+ "id" : 32,
"runtime_data" : [],
"primitives" : [
{
@@ -2296,7 +2559,7 @@
},
{
"name" : "act_0",
- "id" : 32,
+ "id" : 33,
"runtime_data" : [],
"primitives" : [
{
@@ -2341,7 +2604,7 @@
},
{
"name" : "act_1",
- "id" : 33,
+ "id" : 34,
"runtime_data" : [],
"primitives" : [
{
@@ -2386,7 +2649,7 @@
},
{
"name" : "act_2",
- "id" : 34,
+ "id" : 35,
"runtime_data" : [],
"primitives" : [
{
@@ -2416,7 +2679,7 @@
},
{
"name" : "act_3",
- "id" : 35,
+ "id" : 36,
"runtime_data" : [],
"primitives" : [
{
@@ -2446,7 +2709,7 @@
},
{
"name" : "act_4",
- "id" : 36,
+ "id" : 37,
"runtime_data" : [],
"primitives" : [
{
@@ -2486,7 +2749,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 133,
+ "line" : 140,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -2495,7 +2758,7 @@
},
{
"name" : "act_5",
- "id" : 37,
+ "id" : 38,
"runtime_data" : [],
"primitives" : [
{
@@ -2535,7 +2798,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 136,
+ "line" : 143,
"column" : 20,
"source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
}
@@ -2544,7 +2807,7 @@
},
{
"name" : "act_6",
- "id" : 38,
+ "id" : 39,
"runtime_data" : [],
"primitives" : [
{
@@ -2596,7 +2859,7 @@
},
{
"name" : "act_7",
- "id" : 39,
+ "id" : 40,
"runtime_data" : [],
"primitives" : [
{
@@ -2648,7 +2911,7 @@
},
{
"name" : "act_8",
- "id" : 40,
+ "id" : 41,
"runtime_data" : [],
"primitives" : [
{
@@ -2674,7 +2937,7 @@
},
{
"name" : "act_9",
- "id" : 41,
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
@@ -2691,7 +2954,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 156,
+ "line" : 163,
"column" : 16,
"source_fragment" : "hdr.ethernet.ether_type = fabric_metadata.original_ether_type"
}
@@ -2700,7 +2963,7 @@
},
{
"name" : "act_10",
- "id" : 42,
+ "id" : 43,
"runtime_data" : [],
"primitives" : [
{
@@ -2713,7 +2976,7 @@
],
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 158,
+ "line" : 165,
"column" : 12,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -2722,7 +2985,7 @@
},
{
"name" : "act_11",
- "id" : 43,
+ "id" : 44,
"runtime_data" : [],
"primitives" : [
{
@@ -2784,14 +3047,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [31],
+ "action_ids" : [32],
"actions" : ["act"],
"base_default_next" : null,
"next_tables" : {
"act" : null
},
"default_entry" : {
- "action_id" : 31,
+ "action_id" : 32,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -2802,7 +3065,7 @@
"id" : 1,
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 55,
+ "line" : 57,
"column" : 10,
"source_fragment" : "ingress_port_vlan"
},
@@ -2826,7 +3089,6 @@
"match_type" : "ternary",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [13, 12, 0, 11],
@@ -2839,7 +3101,7 @@
"filtering.drop" : "filtering.fwd_classifier"
},
"default_entry" : {
- "action_id" : 11,
+ "action_id" : 0,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -2850,7 +3112,7 @@
"id" : 2,
"source_info" : {
"filename" : "./include/control/filtering.p4",
- "line" : 72,
+ "line" : 76,
"column" : 10,
"source_fragment" : "fwd_classifier"
},
@@ -2874,7 +3136,6 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [14],
@@ -2895,7 +3156,7 @@
"id" : 3,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 47,
+ "line" : 55,
"column" : 10,
"source_fragment" : "bridging"
},
@@ -2914,7 +3175,6 @@
"match_type" : "ternary",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [16, 2],
@@ -2936,7 +3196,7 @@
"id" : 4,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 58,
+ "line" : 67,
"column" : 10,
"source_fragment" : "mpls"
},
@@ -2950,7 +3210,6 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [22, 3],
@@ -2977,14 +3236,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [32],
+ "action_ids" : [33],
"actions" : ["act_0"],
"base_default_next" : "forwarding.acl",
"next_tables" : {
"act_0" : "forwarding.acl"
},
"default_entry" : {
- "action_id" : 32,
+ "action_id" : 33,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3000,14 +3259,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [33],
+ "action_ids" : [34],
"actions" : ["act_1"],
"base_default_next" : "forwarding.acl",
"next_tables" : {
"act_1" : "forwarding.acl"
},
"default_entry" : {
- "action_id" : 33,
+ "action_id" : 34,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3018,7 +3277,7 @@
"id" : 7,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 68,
+ "line" : 78,
"column" : 10,
"source_fragment" : "unicast_v4"
},
@@ -3032,7 +3291,6 @@
"match_type" : "lpm",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [17, 4],
@@ -3054,7 +3312,7 @@
"id" : 8,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 78,
+ "line" : 89,
"column" : 10,
"source_fragment" : "multicast_v4"
},
@@ -3073,7 +3331,6 @@
"match_type" : "lpm",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [18, 5],
@@ -3095,7 +3352,7 @@
"id" : 9,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 89,
+ "line" : 101,
"column" : 10,
"source_fragment" : "unicast_v6"
},
@@ -3109,7 +3366,6 @@
"match_type" : "lpm",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [19, 6],
@@ -3131,7 +3387,7 @@
"id" : 10,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 99,
+ "line" : 112,
"column" : 10,
"source_fragment" : "multicast_v6"
},
@@ -3150,7 +3406,6 @@
"match_type" : "lpm",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [20, 7],
@@ -3172,7 +3427,7 @@
"id" : 11,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 110,
+ "line" : 124,
"column" : 10,
"source_fragment" : "acl"
},
@@ -3241,7 +3496,6 @@
"match_type" : "ternary",
"type" : "simple",
"max_size" : 256,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [21, 23, 15, 1],
@@ -3265,7 +3519,7 @@
"id" : 12,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 86,
+ "line" : 89,
"column" : 10,
"source_fragment" : "simple"
},
@@ -3279,11 +3533,10 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [24, 25, 26, 8],
- "actions" : ["next.output", "next.set_vlan_output", "next.l3_routing", "NoAction"],
+ "action_ids" : [24, 25, 26, 29, 8],
+ "actions" : ["next.output", "next.set_vlan_output", "next.l3_routing", "next.mpls_routing_v4", "NoAction"],
"base_default_next" : null,
"next_tables" : {
"__HIT__" : "tbl_act_2",
@@ -3306,14 +3559,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [34],
+ "action_ids" : [35],
"actions" : ["act_2"],
"base_default_next" : "node_25",
"next_tables" : {
"act_2" : "node_25"
},
"default_entry" : {
- "action_id" : 34,
+ "action_id" : 35,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3329,14 +3582,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [35],
+ "action_ids" : [36],
"actions" : ["act_3"],
"base_default_next" : "node_25",
"next_tables" : {
"act_3" : "node_25"
},
"default_entry" : {
- "action_id" : 35,
+ "action_id" : 36,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3352,14 +3605,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [36],
+ "action_ids" : [37],
"actions" : ["act_4"],
"base_default_next" : "next.hashed",
"next_tables" : {
"act_4" : "next.hashed"
},
"default_entry" : {
- "action_id" : 36,
+ "action_id" : 37,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3375,14 +3628,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [37],
+ "action_ids" : [38],
"actions" : ["act_5"],
"base_default_next" : "next.hashed",
"next_tables" : {
"act_5" : "next.hashed"
},
"default_entry" : {
- "action_id" : 37,
+ "action_id" : 38,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3393,7 +3646,7 @@
"id" : 17,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 98,
+ "line" : 103,
"column" : 10,
"source_fragment" : "hashed"
},
@@ -3408,10 +3661,9 @@
"type" : "indirect_ws",
"action_profile" : "next.ecmp_selector",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [27, 29, 30, 9],
+ "action_ids" : [27, 30, 31, 9],
"actions" : ["next.l3_routing", "next.mpls_routing_v4", "next.mpls_routing_v6", "NoAction"],
"base_default_next" : "next.broadcast",
"next_tables" : {
@@ -3426,7 +3678,7 @@
"id" : 18,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 120,
+ "line" : 126,
"column" : 10,
"source_fragment" : "broadcast"
},
@@ -3440,7 +3692,6 @@
"match_type" : "exact",
"type" : "simple",
"max_size" : 1024,
- "with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [28, 10],
@@ -3467,14 +3718,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [38],
+ "action_ids" : [39],
"actions" : ["act_6"],
"base_default_next" : "node_35",
"next_tables" : {
"act_6" : "node_35"
},
"default_entry" : {
- "action_id" : 38,
+ "action_id" : 39,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3490,14 +3741,83 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39],
+ "action_ids" : [40],
"actions" : ["act_7"],
- "base_default_next" : null,
+ "base_default_next" : "node_37",
"next_tables" : {
- "act_7" : null
+ "act_7" : "node_37"
},
"default_entry" : {
- "action_id" : 39,
+ "action_id" : 40,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_8",
+ "id" : 21,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [41],
+ "actions" : ["act_8"],
+ "base_default_next" : "tbl_act_10",
+ "next_tables" : {
+ "act_8" : "tbl_act_10"
+ },
+ "default_entry" : {
+ "action_id" : 41,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_9",
+ "id" : 22,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [42],
+ "actions" : ["act_9"],
+ "base_default_next" : "tbl_act_10",
+ "next_tables" : {
+ "act_9" : "tbl_act_10"
+ },
+ "default_entry" : {
+ "action_id" : 42,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_10",
+ "id" : 23,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [43],
+ "actions" : ["act_10"],
+ "base_default_next" : null,
+ "next_tables" : {
+ "act_10" : null
+ },
+ "default_entry" : {
+ "action_id" : 43,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3568,7 +3888,7 @@
"id" : 1,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 139,
+ "line" : 154,
"column" : 11,
"source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
},
@@ -3594,7 +3914,7 @@
"id" : 2,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 140,
+ "line" : 155,
"column" : 17,
"source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
},
@@ -3620,7 +3940,7 @@
"id" : 3,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 142,
+ "line" : 157,
"column" : 16,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -3646,7 +3966,7 @@
"id" : 4,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 150,
+ "line" : 165,
"column" : 17,
"source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
},
@@ -3672,7 +3992,7 @@
"id" : 5,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 151,
+ "line" : 166,
"column" : 17,
"source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
},
@@ -3698,7 +4018,7 @@
"id" : 6,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 152,
+ "line" : 167,
"column" : 17,
"source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
},
@@ -3724,7 +4044,7 @@
"id" : 7,
"source_info" : {
"filename" : "./include/control/forwarding.p4",
- "line" : 153,
+ "line" : 168,
"column" : 17,
"source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
},
@@ -3767,7 +4087,7 @@
"id" : 9,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 131,
+ "line" : 138,
"column" : 17,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -3793,7 +4113,7 @@
"id" : 10,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 132,
+ "line" : 139,
"column" : 19,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -3819,7 +4139,7 @@
"id" : 11,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 135,
+ "line" : 142,
"column" : 25,
"source_fragment" : "hdr.ipv6.isValid()"
},
@@ -3889,123 +4209,15 @@
}
}
},
- "false_next" : null,
- "true_next" : "tbl_act_7"
- }
- ]
- },
- {
- "name" : "egress",
- "id" : 1,
- "source_info" : {
- "filename" : "fabric.p4",
- "line" : 48,
- "column" : 8,
- "source_fragment" : "FabricEgress"
- },
- "init_table" : "node_39",
- "tables" : [
- {
- "name" : "tbl_act_8",
- "id" : 21,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [40],
- "actions" : ["act_8"],
- "base_default_next" : "tbl_act_10",
- "next_tables" : {
- "act_8" : "tbl_act_10"
- },
- "default_entry" : {
- "action_id" : 40,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
+ "true_next" : "tbl_act_7",
+ "false_next" : "node_37"
},
{
- "name" : "tbl_act_9",
- "id" : 22,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [41],
- "actions" : ["act_9"],
- "base_default_next" : "tbl_act_10",
- "next_tables" : {
- "act_9" : "tbl_act_10"
- },
- "default_entry" : {
- "action_id" : 41,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_10",
- "id" : 23,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [42],
- "actions" : ["act_10"],
- "base_default_next" : "node_44",
- "next_tables" : {
- "act_10" : "node_44"
- },
- "default_entry" : {
- "action_id" : 42,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_11",
- "id" : 24,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [43],
- "actions" : ["act_11"],
- "base_default_next" : null,
- "next_tables" : {
- "act_11" : null
- },
- "default_entry" : {
- "action_id" : 43,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- }
- ],
- "action_profiles" : [],
- "conditionals" : [
- {
- "name" : "node_39",
+ "name" : "node_37",
"id" : 14,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 152,
+ "line" : 159,
"column" : 12,
"source_fragment" : "fabric_metadata.pop_vlan_at_egress"
},
@@ -4020,15 +4232,15 @@
}
}
},
- "true_next" : "node_40",
- "false_next" : "node_44"
+ "false_next" : null,
+ "true_next" : "node_38"
},
{
- "name" : "node_40",
+ "name" : "node_38",
"id" : 15,
"source_info" : {
"filename" : "./include/control/next.p4",
- "line" : 153,
+ "line" : 160,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -4048,7 +4260,46 @@
},
"true_next" : "tbl_act_8",
"false_next" : "tbl_act_9"
- },
+ }
+ ]
+ },
+ {
+ "name" : "egress",
+ "id" : 1,
+ "source_info" : {
+ "filename" : "fabric.p4",
+ "line" : 50,
+ "column" : 8,
+ "source_fragment" : "FabricEgress"
+ },
+ "init_table" : "node_44",
+ "tables" : [
+ {
+ "name" : "tbl_act_11",
+ "id" : 24,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [44],
+ "actions" : ["act_11"],
+ "base_default_next" : null,
+ "next_tables" : {
+ "act_11" : null
+ },
+ "default_entry" : {
+ "action_id" : 44,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ }
+ ],
+ "action_profiles" : [],
+ "conditionals" : [
{
"name" : "node_44",
"id" : 16,