Improvement in fabric.p4 and bng.p4
- fabric.p4 now supports double tagged hosts
- bng.p4 now only manages PPPoE termination
- bng_ingress moved at the end of the fabric pipeline
Change-Id: Iff62238fde9ec6ddf7311312a98c041e3ab3aa8d
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 ead2905..14c6701 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
@@ -13,28 +13,31 @@
["spgw_normalizer_hasReturned", 1, false],
["spgw_ingress_hasReturned", 1, false],
["egress_next_tmp", 1, false],
- ["fabric_metadata_t._eth_type0", 16, false],
- ["fabric_metadata_t._ip_eth_type1", 16, false],
- ["fabric_metadata_t._vlan_id2", 12, false],
- ["fabric_metadata_t._vlan_pri3", 3, false],
- ["fabric_metadata_t._vlan_cfi4", 1, false],
- ["fabric_metadata_t._mpls_label5", 20, false],
- ["fabric_metadata_t._mpls_ttl6", 8, false],
- ["fabric_metadata_t._skip_forwarding7", 1, false],
- ["fabric_metadata_t._skip_next8", 1, false],
- ["fabric_metadata_t._fwd_type9", 3, false],
- ["fabric_metadata_t._next_id10", 32, false],
- ["fabric_metadata_t._is_multicast11", 1, false],
- ["fabric_metadata_t._is_controller_packet_out12", 1, false],
- ["fabric_metadata_t._ip_proto13", 8, false],
- ["fabric_metadata_t._l4_sport14", 16, false],
- ["fabric_metadata_t._l4_dport15", 16, false],
- ["fabric_metadata_t._spgw_direction16", 2, false],
- ["fabric_metadata_t._spgw_ipv4_len17", 16, false],
- ["fabric_metadata_t._spgw_teid18", 32, false],
- ["fabric_metadata_t._spgw_s1u_enb_addr19", 32, false],
- ["fabric_metadata_t._spgw_s1u_sgw_addr20", 32, false],
- ["_padding_0", 2, false]
+ ["fabric_metadata_t._last_eth_type0", 16, false],
+ ["fabric_metadata_t._is_ipv41", 1, false],
+ ["fabric_metadata_t._is_ipv62", 1, false],
+ ["fabric_metadata_t._is_mpls3", 1, false],
+ ["fabric_metadata_t._ip_eth_type4", 16, false],
+ ["fabric_metadata_t._vlan_id5", 12, false],
+ ["fabric_metadata_t._vlan_pri6", 3, false],
+ ["fabric_metadata_t._vlan_cfi7", 1, false],
+ ["fabric_metadata_t._mpls_label8", 20, false],
+ ["fabric_metadata_t._mpls_ttl9", 8, false],
+ ["fabric_metadata_t._skip_forwarding10", 1, false],
+ ["fabric_metadata_t._skip_next11", 1, false],
+ ["fabric_metadata_t._fwd_type12", 3, false],
+ ["fabric_metadata_t._next_id13", 32, false],
+ ["fabric_metadata_t._is_multicast14", 1, false],
+ ["fabric_metadata_t._is_controller_packet_out15", 1, false],
+ ["fabric_metadata_t._ip_proto16", 8, false],
+ ["fabric_metadata_t._l4_sport17", 16, false],
+ ["fabric_metadata_t._l4_dport18", 16, false],
+ ["fabric_metadata_t._spgw_direction19", 2, false],
+ ["fabric_metadata_t._spgw_ipv4_len20", 16, false],
+ ["fabric_metadata_t._spgw_teid21", 32, false],
+ ["fabric_metadata_t._spgw_s1u_enb_addr22", 32, false],
+ ["fabric_metadata_t._spgw_s1u_sgw_addr23", 32, false],
+ ["_padding_0", 7, false]
]
},
{
@@ -408,7 +411,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._eth_type0"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
},
{
"type" : "field",
@@ -421,7 +424,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
},
{
"type" : "hexstr",
@@ -448,7 +451,7 @@
"type" : "hexstr",
"value" : "0x0800",
"mask" : null,
- "next_state" : "parse_ipv4"
+ "next_state" : "pre_parse_ipv4"
},
{
"value" : "default",
@@ -482,7 +485,7 @@
"type" : "hexstr",
"value" : "0x0800",
"mask" : null,
- "next_state" : "parse_ipv4"
+ "next_state" : "pre_parse_ipv4"
},
{
"type" : "hexstr",
@@ -497,6 +500,18 @@
"next_state" : "parse_inner_vlan_tag"
},
{
+ "type" : "hexstr",
+ "value" : "0x88a8",
+ "mask" : null,
+ "next_state" : "parse_inner_vlan_tag"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x9100",
+ "mask" : null,
+ "next_state" : "parse_inner_vlan_tag"
+ },
+ {
"value" : "default",
"mask" : null,
"next_state" : null
@@ -528,7 +543,7 @@
"type" : "hexstr",
"value" : "0x0800",
"mask" : null,
- "next_state" : "parse_ipv4"
+ "next_state" : "pre_parse_ipv4"
},
{
"type" : "hexstr",
@@ -566,7 +581,30 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
+ "value" : ["scalars", "fabric_metadata_t._is_mpls3"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
},
{
"type" : "field",
@@ -579,7 +617,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_ttl6"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
},
{
"type" : "field",
@@ -623,12 +661,49 @@
]
},
{
- "name" : "parse_ipv4",
+ "name" : "pre_parse_ipv4",
"id" : 6,
"parser_ops" : [
{
"parameters" : [
{
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._is_ipv41"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ }
+ ],
+ "transitions" : [
+ {
+ "value" : "default",
+ "mask" : null,
+ "next_state" : "parse_ipv4"
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_ipv4",
+ "id" : 7,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
"type" : "regular",
"value" : "ipv4"
}
@@ -639,7 +714,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_proto13"]
+ "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
},
{
"type" : "field",
@@ -652,7 +727,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_eth_type1"]
+ "value" : ["scalars", "fabric_metadata_t._ip_eth_type4"]
},
{
"type" : "hexstr",
@@ -696,7 +771,7 @@
},
{
"name" : "parse_tcp",
- "id" : 7,
+ "id" : 8,
"parser_ops" : [
{
"parameters" : [
@@ -711,7 +786,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
},
{
"type" : "field",
@@ -724,7 +799,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
},
{
"type" : "field",
@@ -745,7 +820,7 @@
},
{
"name" : "parse_udp",
- "id" : 8,
+ "id" : 9,
"parser_ops" : [
{
"parameters" : [
@@ -760,7 +835,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
},
{
"type" : "field",
@@ -773,7 +848,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
},
{
"type" : "field",
@@ -805,7 +880,7 @@
},
{
"name" : "parse_icmp",
- "id" : 9,
+ "id" : 10,
"parser_ops" : [
{
"parameters" : [
@@ -828,7 +903,7 @@
},
{
"name" : "parse_gtpu",
- "id" : 10,
+ "id" : 11,
"parser_ops" : [
{
"parameters" : [
@@ -899,7 +974,7 @@
},
{
"name" : "do_parse_gtpu",
- "id" : 11,
+ "id" : 12,
"parser_ops" : [
{
"parameters" : [
@@ -954,7 +1029,7 @@
},
{
"name" : "parse_inner_udp",
- "id" : 12,
+ "id" : 13,
"parser_ops" : [
{
"parameters" : [
@@ -969,7 +1044,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
},
{
"type" : "field",
@@ -982,7 +1057,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
},
{
"type" : "field",
@@ -1011,7 +1086,7 @@
"id" : 0,
"source_info" : {
"filename" : "include/parser.p4",
- "line" : 261,
+ "line" : 276,
"column" : 8,
"source_fragment" : "FabricDeparser"
},
@@ -1051,7 +1126,7 @@
"binding" : "FabricIngress.filtering.fwd_classifier",
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 80,
+ "line" : 83,
"column" : 50,
"source_fragment" : "fwd_classifier_counter"
}
@@ -1123,7 +1198,7 @@
"binding" : "FabricIngress.next.xconnect",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 92,
+ "line" : 103,
"column" : 50,
"source_fragment" : "xconnect_counter"
}
@@ -1135,7 +1210,7 @@
"binding" : "FabricIngress.next.hashed",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 166,
+ "line" : 178,
"column" : 50,
"source_fragment" : "hashed_counter"
}
@@ -1147,7 +1222,7 @@
"binding" : "FabricIngress.next.multicast",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 210,
+ "line" : 222,
"column" : 50,
"source_fragment" : "multicast_counter"
}
@@ -1183,7 +1258,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 283,
+ "line" : 309,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -1506,7 +1581,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_teid18"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_teid21"]
},
{
"type" : "runtime_data",
@@ -1525,7 +1600,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr19"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr22"]
},
{
"type" : "runtime_data",
@@ -1544,7 +1619,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr20"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr23"]
},
{
"type" : "runtime_data",
@@ -1570,7 +1645,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
+ "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
},
{
"type" : "expression",
@@ -1599,7 +1674,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next8"]
+ "value" : ["scalars", "fabric_metadata_t._skip_next11"]
},
{
"type" : "expression",
@@ -1646,7 +1721,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
},
{
"type" : "runtime_data",
@@ -1677,7 +1752,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
+ "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
},
{
"type" : "runtime_data",
@@ -1686,7 +1761,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 83,
+ "line" : 86,
"column" : 33,
"source_fragment" : "= fwd_type; ..."
}
@@ -1708,7 +1783,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id10"]
+ "value" : ["scalars", "fabric_metadata_t._next_id13"]
},
{
"type" : "runtime_data",
@@ -1739,7 +1814,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
},
{
"type" : "hexstr",
@@ -1758,7 +1833,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id10"]
+ "value" : ["scalars", "fabric_metadata_t._next_id13"]
},
{
"type" : "runtime_data",
@@ -1789,7 +1864,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id10"]
+ "value" : ["scalars", "fabric_metadata_t._next_id13"]
},
{
"type" : "runtime_data",
@@ -1826,7 +1901,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id10"]
+ "value" : ["scalars", "fabric_metadata_t._next_id13"]
},
{
"type" : "runtime_data",
@@ -1871,7 +1946,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next8"]
+ "value" : ["scalars", "fabric_metadata_t._skip_next11"]
},
{
"type" : "expression",
@@ -1953,7 +2028,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next8"]
+ "value" : ["scalars", "fabric_metadata_t._skip_next11"]
},
{
"type" : "expression",
@@ -2000,7 +2075,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
},
{
"type" : "runtime_data",
@@ -2044,6 +2119,25 @@
"column" : 5,
"source_fragment" : "standard_metadata.egress_spec = port_num; ..."
}
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x8100"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/../define.p4",
+ "line" : 107,
+ "column" : 31,
+ "source_fragment" : "0x8100; ..."
+ }
}
]
},
@@ -2062,7 +2156,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id10"]
+ "value" : ["scalars", "fabric_metadata_t._next_id13"]
},
{
"type" : "runtime_data",
@@ -2071,7 +2165,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 100,
+ "line" : 112,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -2213,7 +2307,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
},
{
"type" : "runtime_data",
@@ -2310,7 +2404,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 213,
+ "line" : 225,
"column" : 8,
"source_fragment" : "standard_metadata.mcast_grp = group_id"
}
@@ -2320,7 +2414,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_multicast11"]
+ "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
},
{
"type" : "expression",
@@ -2339,7 +2433,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 214,
+ "line" : 226,
"column" : 37,
"source_fragment" : "= true; ..."
}
@@ -2598,7 +2692,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out12"]
+ "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
},
{
"type" : "expression",
@@ -2644,26 +2738,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._eth_type0"]
- },
- {
- "type" : "field",
- "value" : ["vlan_tag", "eth_type"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/filtering.p4",
- "line" : 105,
- "column" : 37,
- "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
},
{
"type" : "field",
@@ -2672,7 +2747,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 106,
+ "line" : 110,
"column" : 36,
"source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
}
@@ -2682,7 +2757,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri3"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_pri6"]
},
{
"type" : "field",
@@ -2691,7 +2766,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 107,
+ "line" : 111,
"column" : 37,
"source_fragment" : "= hdr.vlan_tag.pri; ..."
}
@@ -2701,7 +2776,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi4"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_cfi7"]
},
{
"type" : "field",
@@ -2710,7 +2785,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 108,
+ "line" : 112,
"column" : 37,
"source_fragment" : "= hdr.vlan_tag.cfi; ..."
}
@@ -2727,7 +2802,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_ttl6"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
},
{
"type" : "hexstr",
@@ -2736,7 +2811,7 @@
],
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 115,
+ "line" : 126,
"column" : 37,
"source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
}
@@ -2753,23 +2828,19 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "spgw_ingress_tmp"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
},
{
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
+ "type" : "hexstr",
+ "value" : "0x8847"
}
- ]
+ ],
+ "source_info" : {
+ "filename" : "include/control/../define.p4",
+ "line" : 108,
+ "column" : 31,
+ "source_fragment" : "0x8847; ..."
+ }
}
]
},
@@ -2783,23 +2854,19 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "spgw_ingress_tmp"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
},
{
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
+ "type" : "field",
+ "value" : ["inner_vlan_tag", "eth_type"]
}
- ]
+ ],
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 136,
+ "column" : 50,
+ "source_fragment" : "= hdr.inner_vlan_tag.eth_type; ..."
+ }
}
]
},
@@ -2809,18 +2876,22 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "mark_to_drop",
+ "op" : "assign",
"parameters" : [
{
- "type" : "header",
- "value" : "standard_metadata"
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
+ },
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "eth_type"]
}
],
"source_info" : {
- "filename" : "include/spgw.p4",
- "line" : 149,
- "column" : 16,
- "source_fragment" : "mark_to_drop(standard_metadata)"
+ "filename" : "include/control/filtering.p4",
+ "line" : 139,
+ "column" : 50,
+ "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
}
}
]
@@ -2835,18 +2906,18 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
},
{
- "type" : "hexstr",
- "value" : "0x01"
+ "type" : "field",
+ "value" : ["ethernet", "eth_type"]
}
],
"source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 143,
- "column" : 36,
- "source_fragment" : "2w1; ..."
+ "filename" : "include/control/filtering.p4",
+ "line" : 141,
+ "column" : 46,
+ "source_fragment" : "= hdr.ethernet.eth_type; ..."
}
}
]
@@ -2861,7 +2932,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "spgw_ingress_tmp_0"]
+ "value" : ["scalars", "spgw_ingress_tmp"]
},
{
"type" : "expression",
@@ -2891,7 +2962,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "spgw_ingress_tmp_0"]
+ "value" : ["scalars", "spgw_ingress_tmp"]
},
{
"type" : "expression",
@@ -2917,11 +2988,119 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/spgw.p4",
+ "line" : 149,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_14",
+ "id" : 46,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "assign",
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction19"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/../define.p4",
+ "line" : 143,
+ "column" : 36,
+ "source_fragment" : "2w1; ..."
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_15",
+ "id" : 47,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "spgw_ingress_tmp_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : true
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name" : "act_16",
+ "id" : 48,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "spgw_ingress_tmp_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "b2d",
+ "left" : null,
+ "right" : {
+ "type" : "bool",
+ "value" : false
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name" : "act_17",
+ "id" : 49,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction19"]
},
{
"type" : "hexstr",
@@ -2938,8 +3117,8 @@
]
},
{
- "name" : "act_14",
- "id" : 46,
+ "name" : "act_18",
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -2947,7 +3126,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction19"]
},
{
"type" : "hexstr",
@@ -2993,8 +3172,8 @@
]
},
{
- "name" : "act_15",
- "id" : 47,
+ "name" : "act_19",
+ "id" : 51,
"runtime_data" : [],
"primitives" : [
{
@@ -3023,8 +3202,8 @@
]
},
{
- "name" : "act_16",
- "id" : 48,
+ "name" : "act_20",
+ "id" : 52,
"runtime_data" : [],
"primitives" : [
{
@@ -3032,7 +3211,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len20"]
},
{
"type" : "field",
@@ -3049,8 +3228,8 @@
]
},
{
- "name" : "act_17",
- "id" : 49,
+ "name" : "act_21",
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -3107,8 +3286,8 @@
]
},
{
- "name" : "act_18",
- "id" : 50,
+ "name" : "act_22",
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -3166,13 +3345,13 @@
},
{
"name" : "nop",
- "id" : 51,
+ "id" : 55,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.spgw_egress.gtpu_encap",
- "id" : 52,
+ "id" : 56,
"runtime_data" : [],
"primitives" : [
{
@@ -3412,7 +3591,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr19"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr22"]
}
],
"source_info" : {
@@ -3431,7 +3610,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr20"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr23"]
}
],
"source_info" : {
@@ -3532,7 +3711,7 @@
"op" : "+",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len20"]
},
"right" : {
"type" : "hexstr",
@@ -3731,7 +3910,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len20"]
}
],
"source_info" : {
@@ -3750,7 +3929,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_teid18"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_teid21"]
}
],
"source_info" : {
@@ -3764,7 +3943,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 53,
+ "id" : 57,
"runtime_data" : [],
"primitives" : [
{
@@ -3777,7 +3956,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 252,
+ "line" : 264,
"column" : 8,
"source_fragment" : "hdr.mpls.setInvalid()"
}
@@ -3787,17 +3966,17 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._eth_type0"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_eth_type1"]
+ "value" : ["scalars", "fabric_metadata_t._ip_eth_type4"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 254,
- "column" : 33,
+ "line" : 266,
+ "column" : 38,
"source_fragment" : "= fabric_metadata.ip_eth_type; ..."
}
}
@@ -3805,7 +3984,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 54,
+ "id" : 58,
"runtime_data" : [],
"primitives" : [
{
@@ -3818,7 +3997,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 259,
+ "line" : 271,
"column" : 8,
"source_fragment" : "hdr.mpls.setValid()"
}
@@ -3832,12 +4011,12 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 260,
+ "line" : 272,
"column" : 8,
"source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
}
@@ -3856,7 +4035,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 261,
+ "line" : 273,
"column" : 8,
"source_fragment" : "hdr.mpls.tc = 3w0"
}
@@ -3875,7 +4054,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 262,
+ "line" : 274,
"column" : 8,
"source_fragment" : "hdr.mpls.bos = 1w1"
}
@@ -3889,12 +4068,12 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_ttl6"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 263,
+ "line" : 275,
"column" : 8,
"source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
}
@@ -3904,7 +4083,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._eth_type0"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
},
{
"type" : "hexstr",
@@ -3922,7 +4101,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 55,
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -3935,7 +4114,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 271,
+ "line" : 283,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setValid()"
}
@@ -3949,12 +4128,12 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi4"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_cfi7"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 272,
+ "line" : 284,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
}
@@ -3968,12 +4147,12 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri3"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_pri6"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 273,
+ "line" : 285,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
}
@@ -3987,14 +4166,14 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._eth_type0"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 274,
+ "line" : 286,
"column" : 8,
- "source_fragment" : "hdr.vlan_tag.eth_type = fabric_metadata.eth_type; ..."
+ "source_fragment" : "hdr.vlan_tag.eth_type = fabric_metadata.last_eth_type; ..."
}
},
{
@@ -4006,12 +4185,12 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 275,
+ "line" : 287,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
}
@@ -4039,7 +4218,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 56,
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -4051,14 +4230,14 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._eth_type0"]
+ "value" : ["scalars", "fabric_metadata_t._last_eth_type0"]
}
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 286,
+ "line" : 312,
"column" : 8,
- "source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.eth_type; ..."
+ "source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.last_eth_type; ..."
}
},
{
@@ -4071,7 +4250,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 287,
+ "line" : 313,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -4079,8 +4258,8 @@
]
},
{
- "name" : "act_19",
- "id" : 57,
+ "name" : "act_23",
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -4096,8 +4275,8 @@
]
},
{
- "name" : "act_20",
- "id" : 58,
+ "name" : "act_24",
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -4147,8 +4326,8 @@
]
},
{
- "name" : "act_21",
- "id" : 59,
+ "name" : "act_25",
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -4161,7 +4340,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 308,
+ "line" : 334,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -4169,8 +4348,8 @@
]
},
{
- "name" : "act_22",
- "id" : 60,
+ "name" : "act_26",
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -4199,8 +4378,8 @@
]
},
{
- "name" : "act_23",
- "id" : 61,
+ "name" : "act_27",
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -4229,8 +4408,8 @@
]
},
{
- "name" : "act_24",
- "id" : 62,
+ "name" : "act_28",
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -4243,7 +4422,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 327,
+ "line" : 367,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -4251,8 +4430,8 @@
]
},
{
- "name" : "act_25",
- "id" : 63,
+ "name" : "act_29",
+ "id" : 67,
"runtime_data" : [],
"primitives" : [
{
@@ -4292,7 +4471,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 326,
+ "line" : 366,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -4300,8 +4479,8 @@
]
},
{
- "name" : "act_26",
- "id" : 64,
+ "name" : "act_30",
+ "id" : 68,
"runtime_data" : [],
"primitives" : [
{
@@ -4314,7 +4493,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 331,
+ "line" : 371,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -4322,8 +4501,8 @@
]
},
{
- "name" : "act_27",
- "id" : 65,
+ "name" : "act_31",
+ "id" : 69,
"runtime_data" : [],
"primitives" : [
{
@@ -4363,7 +4542,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 330,
+ "line" : 370,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -4562,9 +4741,9 @@
"id" : 6,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 105,
- "column" : 37,
- "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
+ "line" : 110,
+ "column" : 36,
+ "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
},
"key" : [],
"match_type" : "exact",
@@ -4591,7 +4770,7 @@
"id" : 7,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 115,
+ "line" : 126,
"column" : 37,
"source_fragment" : "="
},
@@ -4604,9 +4783,9 @@
"direct_meters" : null,
"action_ids" : [38],
"actions" : ["act_6"],
- "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
+ "base_default_next" : "node_16",
"next_tables" : {
- "act_6" : "FabricIngress.filtering.ingress_port_vlan"
+ "act_6" : "node_16"
},
"default_entry" : {
"action_id" : 38,
@@ -4616,11 +4795,127 @@
}
},
{
- "name" : "FabricIngress.filtering.ingress_port_vlan",
+ "name" : "tbl_act_7",
"id" : 8,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 51,
+ "line" : 131,
+ "column" : 42,
+ "source_fragment" : "="
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [39],
+ "actions" : ["act_7"],
+ "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
+ "next_tables" : {
+ "act_7" : "FabricIngress.filtering.ingress_port_vlan"
+ },
+ "default_entry" : {
+ "action_id" : 39,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_8",
+ "id" : 9,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 136,
+ "column" : 50,
+ "source_fragment" : "="
+ },
+ "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" : "FabricIngress.filtering.ingress_port_vlan",
+ "next_tables" : {
+ "act_8" : "FabricIngress.filtering.ingress_port_vlan"
+ },
+ "default_entry" : {
+ "action_id" : 40,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_9",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 139,
+ "column" : 50,
+ "source_fragment" : "="
+ },
+ "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" : "FabricIngress.filtering.ingress_port_vlan",
+ "next_tables" : {
+ "act_9" : "FabricIngress.filtering.ingress_port_vlan"
+ },
+ "default_entry" : {
+ "action_id" : 41,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_10",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 141,
+ "column" : 46,
+ "source_fragment" : "="
+ },
+ "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" : "FabricIngress.filtering.ingress_port_vlan",
+ "next_tables" : {
+ "act_10" : "FabricIngress.filtering.ingress_port_vlan"
+ },
+ "default_entry" : {
+ "action_id" : 42,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.filtering.ingress_port_vlan",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 53,
"column" : 10,
"source_fragment" : "ingress_port_vlan"
},
@@ -4642,6 +4937,12 @@
"name" : "vlan_id",
"target" : ["vlan_tag", "vlan_id"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "inner_vlan_id",
+ "target" : ["inner_vlan_tag", "vlan_id"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -4667,10 +4968,10 @@
},
{
"name" : "FabricIngress.filtering.fwd_classifier",
- "id" : 9,
+ "id" : 13,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 87,
+ "line" : 90,
"column" : 10,
"source_fragment" : "fwd_classifier"
},
@@ -4689,8 +4990,20 @@
},
{
"match_type" : "exact",
- "name" : "eth_type",
- "target" : ["scalars", "fabric_metadata_t._eth_type0"],
+ "name" : "is_ipv4",
+ "target" : ["scalars", "fabric_metadata_t._is_ipv41"],
+ "mask" : null
+ },
+ {
+ "match_type" : "exact",
+ "name" : "is_ipv6",
+ "target" : ["scalars", "fabric_metadata_t._is_ipv62"],
+ "mask" : null
+ },
+ {
+ "match_type" : "exact",
+ "name" : "is_mpls",
+ "target" : ["scalars", "fabric_metadata_t._is_mpls3"],
"mask" : null
}
],
@@ -4702,9 +5015,9 @@
"direct_meters" : null,
"action_ids" : [14],
"actions" : ["FabricIngress.filtering.set_forwarding_type"],
- "base_default_next" : "tbl_act_7",
+ "base_default_next" : "tbl_act_11",
"next_tables" : {
- "FabricIngress.filtering.set_forwarding_type" : "tbl_act_7"
+ "FabricIngress.filtering.set_forwarding_type" : "tbl_act_11"
},
"default_entry" : {
"action_id" : 14,
@@ -4714,8 +5027,8 @@
}
},
{
- "name" : "tbl_act_7",
- "id" : 10,
+ "name" : "tbl_act_11",
+ "id" : 14,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -4723,14 +5036,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [47],
- "actions" : ["act_15"],
- "base_default_next" : "node_19",
+ "action_ids" : [51],
+ "actions" : ["act_19"],
+ "base_default_next" : "node_26",
"next_tables" : {
- "act_15" : "node_19"
+ "act_19" : "node_26"
},
"default_entry" : {
- "action_id" : 47,
+ "action_id" : 51,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4738,7 +5051,7 @@
},
{
"name" : "FabricIngress.spgw_ingress.s1u_filter_table",
- "id" : 11,
+ "id" : 15,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 83,
@@ -4763,8 +5076,8 @@
"actions" : ["nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_8",
- "__MISS__" : "tbl_act_9"
+ "__HIT__" : "tbl_act_12",
+ "__MISS__" : "tbl_act_13"
},
"default_entry" : {
"action_id" : 1,
@@ -4774,8 +5087,8 @@
}
},
{
- "name" : "tbl_act_8",
- "id" : 12,
+ "name" : "tbl_act_12",
+ "id" : 16,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -4783,22 +5096,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39],
- "actions" : ["act_7"],
- "base_default_next" : "node_23",
+ "action_ids" : [43],
+ "actions" : ["act_11"],
+ "base_default_next" : "node_30",
"next_tables" : {
- "act_7" : "node_23"
+ "act_11" : "node_30"
},
"default_entry" : {
- "action_id" : 39,
+ "action_id" : 43,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_9",
- "id" : 13,
+ "name" : "tbl_act_13",
+ "id" : 17,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -4806,22 +5119,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [40],
- "actions" : ["act_8"],
- "base_default_next" : "node_23",
+ "action_ids" : [44],
+ "actions" : ["act_12"],
+ "base_default_next" : "node_30",
"next_tables" : {
- "act_8" : "node_23"
+ "act_12" : "node_30"
},
"default_entry" : {
- "action_id" : 40,
+ "action_id" : 44,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_10",
- "id" : 14,
+ "name" : "tbl_act_14",
+ "id" : 18,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 149,
@@ -4835,22 +5148,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [41],
- "actions" : ["act_9"],
- "base_default_next" : "tbl_act_11",
+ "action_ids" : [45],
+ "actions" : ["act_13"],
+ "base_default_next" : "tbl_act_15",
"next_tables" : {
- "act_9" : "tbl_act_11"
+ "act_13" : "tbl_act_15"
},
"default_entry" : {
- "action_id" : 41,
+ "action_id" : 45,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_11",
- "id" : 15,
+ "name" : "tbl_act_15",
+ "id" : 19,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 151,
@@ -4864,14 +5177,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [42],
- "actions" : ["act_10"],
+ "action_ids" : [46],
+ "actions" : ["act_14"],
"base_default_next" : "tbl_spgw_ingress_gtpu_decap",
"next_tables" : {
- "act_10" : "tbl_spgw_ingress_gtpu_decap"
+ "act_14" : "tbl_spgw_ingress_gtpu_decap"
},
"default_entry" : {
- "action_id" : 42,
+ "action_id" : 46,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4879,7 +5192,7 @@
},
{
"name" : "tbl_spgw_ingress_gtpu_decap",
- "id" : 16,
+ "id" : 20,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 152,
@@ -4895,9 +5208,9 @@
"direct_meters" : null,
"action_ids" : [9],
"actions" : ["FabricIngress.spgw_ingress.gtpu_decap"],
- "base_default_next" : "node_33",
+ "base_default_next" : "node_40",
"next_tables" : {
- "FabricIngress.spgw_ingress.gtpu_decap" : "node_33"
+ "FabricIngress.spgw_ingress.gtpu_decap" : "node_40"
},
"default_entry" : {
"action_id" : 9,
@@ -4908,7 +5221,7 @@
},
{
"name" : "FabricIngress.spgw_ingress.dl_sess_lookup",
- "id" : 17,
+ "id" : 21,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 70,
@@ -4933,8 +5246,8 @@
"actions" : ["FabricIngress.spgw_ingress.set_dl_sess_info", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_12",
- "__MISS__" : "tbl_act_13"
+ "__HIT__" : "tbl_act_16",
+ "__MISS__" : "tbl_act_17"
},
"default_entry" : {
"action_id" : 0,
@@ -4944,8 +5257,8 @@
}
},
{
- "name" : "tbl_act_12",
- "id" : 18,
+ "name" : "tbl_act_16",
+ "id" : 22,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -4953,22 +5266,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [43],
- "actions" : ["act_11"],
- "base_default_next" : "node_30",
+ "action_ids" : [47],
+ "actions" : ["act_15"],
+ "base_default_next" : "node_37",
"next_tables" : {
- "act_11" : "node_30"
+ "act_15" : "node_37"
},
"default_entry" : {
- "action_id" : 43,
+ "action_id" : 47,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_13",
- "id" : 19,
+ "name" : "tbl_act_17",
+ "id" : 23,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -4976,22 +5289,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [44],
- "actions" : ["act_12"],
- "base_default_next" : "node_30",
+ "action_ids" : [48],
+ "actions" : ["act_16"],
+ "base_default_next" : "node_37",
"next_tables" : {
- "act_12" : "node_30"
+ "act_16" : "node_37"
},
"default_entry" : {
- "action_id" : 44,
+ "action_id" : 48,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_14",
- "id" : 20,
+ "name" : "tbl_act_18",
+ "id" : 24,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 154,
@@ -5005,22 +5318,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [45],
- "actions" : ["act_13"],
- "base_default_next" : "node_33",
+ "action_ids" : [49],
+ "actions" : ["act_17"],
+ "base_default_next" : "node_40",
"next_tables" : {
- "act_13" : "node_33"
+ "act_17" : "node_40"
},
"default_entry" : {
- "action_id" : 45,
+ "action_id" : 49,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_15",
- "id" : 21,
+ "name" : "tbl_act_19",
+ "id" : 25,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 156,
@@ -5034,22 +5347,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [46],
- "actions" : ["act_14"],
- "base_default_next" : "node_33",
+ "action_ids" : [50],
+ "actions" : ["act_18"],
+ "base_default_next" : "node_40",
"next_tables" : {
- "act_14" : "node_33"
+ "act_18" : "node_40"
},
"default_entry" : {
- "action_id" : 46,
+ "action_id" : 50,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_16",
- "id" : 22,
+ "name" : "tbl_act_20",
+ "id" : 26,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 175,
@@ -5063,14 +5376,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [48],
- "actions" : ["act_16"],
- "base_default_next" : "node_35",
+ "action_ids" : [52],
+ "actions" : ["act_20"],
+ "base_default_next" : "node_42",
"next_tables" : {
- "act_16" : "node_35"
+ "act_20" : "node_42"
},
"default_entry" : {
- "action_id" : 48,
+ "action_id" : 52,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5078,7 +5391,7 @@
},
{
"name" : "FabricIngress.forwarding.bridging",
- "id" : 23,
+ "id" : 27,
"source_info" : {
"filename" : "include/control/forwarding.p4",
"line" : 46,
@@ -5089,7 +5402,7 @@
{
"match_type" : "exact",
"name" : "vlan_id",
- "target" : ["scalars", "fabric_metadata_t._vlan_id2"],
+ "target" : ["scalars", "fabric_metadata_t._vlan_id5"],
"mask" : null
},
{
@@ -5121,7 +5434,7 @@
},
{
"name" : "FabricIngress.forwarding.mpls",
- "id" : 24,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/forwarding.p4",
"line" : 71,
@@ -5132,7 +5445,7 @@
{
"match_type" : "exact",
"name" : "mpls_label",
- "target" : ["scalars", "fabric_metadata_t._mpls_label5"],
+ "target" : ["scalars", "fabric_metadata_t._mpls_label8"],
"mask" : null
}
],
@@ -5158,7 +5471,7 @@
},
{
"name" : "FabricIngress.forwarding.routing_v4",
- "id" : 25,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/forwarding.p4",
"line" : 101,
@@ -5196,7 +5509,7 @@
},
{
"name" : "FabricIngress.acl.acl",
- "id" : 26,
+ "id" : 30,
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 60,
@@ -5213,19 +5526,19 @@
{
"match_type" : "ternary",
"name" : "ip_proto",
- "target" : ["scalars", "fabric_metadata_t._ip_proto13"],
+ "target" : ["scalars", "fabric_metadata_t._ip_proto16"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_sport",
- "target" : ["scalars", "fabric_metadata_t._l4_sport14"],
+ "target" : ["scalars", "fabric_metadata_t._l4_sport17"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_dport",
- "target" : ["scalars", "fabric_metadata_t._l4_dport15"],
+ "target" : ["scalars", "fabric_metadata_t._l4_dport18"],
"mask" : null
},
{
@@ -5249,7 +5562,7 @@
{
"match_type" : "ternary",
"name" : "eth_type",
- "target" : ["scalars", "fabric_metadata_t._eth_type0"],
+ "target" : ["scalars", "fabric_metadata_t._last_eth_type0"],
"mask" : null
},
{
@@ -5285,13 +5598,13 @@
"direct_meters" : null,
"action_ids" : [19, 20, 21, 22, 23],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_43",
+ "base_default_next" : "node_50",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_43",
- "FabricIngress.acl.punt_to_cpu" : "node_43",
- "FabricIngress.acl.set_clone_session_id" : "node_43",
- "FabricIngress.acl.drop" : "node_43",
- "FabricIngress.acl.nop_acl" : "node_43"
+ "FabricIngress.acl.set_next_id_acl" : "node_50",
+ "FabricIngress.acl.punt_to_cpu" : "node_50",
+ "FabricIngress.acl.set_clone_session_id" : "node_50",
+ "FabricIngress.acl.drop" : "node_50",
+ "FabricIngress.acl.nop_acl" : "node_50"
},
"default_entry" : {
"action_id" : 23,
@@ -5302,10 +5615,10 @@
},
{
"name" : "FabricIngress.next.xconnect",
- "id" : 27,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 104,
+ "line" : 116,
"column" : 10,
"source_fragment" : "xconnect"
},
@@ -5319,7 +5632,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id10"],
+ "target" : ["scalars", "fabric_metadata_t._next_id13"],
"mask" : null
}
],
@@ -5346,10 +5659,10 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 28,
+ "id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 184,
+ "line" : 196,
"column" : 10,
"source_fragment" : "hashed"
},
@@ -5357,7 +5670,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id10"],
+ "target" : ["scalars", "fabric_metadata_t._next_id13"],
"mask" : null
}
],
@@ -5380,10 +5693,10 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 29,
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 218,
+ "line" : 230,
"column" : 10,
"source_fragment" : "multicast"
},
@@ -5391,7 +5704,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id10"],
+ "target" : ["scalars", "fabric_metadata_t._next_id13"],
"mask" : null
}
],
@@ -5417,10 +5730,10 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 30,
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 74,
+ "line" : 82,
"column" : 10,
"source_fragment" : "next_vlan"
},
@@ -5428,7 +5741,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id10"],
+ "target" : ["scalars", "fabric_metadata_t._next_id13"],
"mask" : null
}
],
@@ -5440,10 +5753,10 @@
"direct_meters" : null,
"action_ids" : [24, 5],
"actions" : ["FabricIngress.next.set_vlan", "nop"],
- "base_default_next" : "node_48",
+ "base_default_next" : "node_55",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_48",
- "nop" : "node_48"
+ "FabricIngress.next.set_vlan" : "node_55",
+ "nop" : "node_55"
},
"default_entry" : {
"action_id" : 5,
@@ -5453,8 +5766,8 @@
}
},
{
- "name" : "tbl_act_17",
- "id" : 31,
+ "name" : "tbl_act_21",
+ "id" : 35,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -5468,22 +5781,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [49],
- "actions" : ["act_17"],
- "base_default_next" : "node_50",
+ "action_ids" : [53],
+ "actions" : ["act_21"],
+ "base_default_next" : "node_57",
"next_tables" : {
- "act_17" : "node_50"
+ "act_21" : "node_57"
},
"default_entry" : {
- "action_id" : 49,
+ "action_id" : 53,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_18",
- "id" : 32,
+ "name" : "tbl_act_22",
+ "id" : 36,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -5497,14 +5810,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [50],
- "actions" : ["act_18"],
+ "action_ids" : [54],
+ "actions" : ["act_22"],
"base_default_next" : null,
"next_tables" : {
- "act_18" : null
+ "act_22" : null
},
"default_entry" : {
- "action_id" : 50,
+ "action_id" : 54,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5517,7 +5830,7 @@
"id" : 0,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 165,
+ "line" : 177,
"column" : 57,
"source_fragment" : "hashed_selector"
},
@@ -5535,15 +5848,15 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_proto13"]
+ "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
}
]
}
@@ -5655,7 +5968,7 @@
"id" : 4,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 104,
+ "line" : 109,
"column" : 12,
"source_fragment" : "hdr.vlan_tag.isValid()"
},
@@ -5678,7 +5991,7 @@
"id" : 5,
"source_info" : {
"filename" : "include/control/filtering.p4",
- "line" : 110,
+ "line" : 121,
"column" : 12,
"source_fragment" : "!hdr.mpls.isValid()"
},
@@ -5701,11 +6014,80 @@
}
},
"true_next" : "tbl_act_6",
- "false_next" : "FabricIngress.filtering.ingress_port_vlan"
+ "false_next" : "node_16"
+ },
+ {
+ "name" : "node_16",
+ "id" : 6,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 130,
+ "column" : 12,
+ "source_fragment" : "hdr.mpls.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["mpls", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_act_7",
+ "false_next" : "node_18"
+ },
+ {
+ "name" : "node_18",
+ "id" : 7,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 133,
+ "column" : 16,
+ "source_fragment" : "hdr.vlan_tag.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["vlan_tag", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "node_19",
+ "false_next" : "tbl_act_10"
},
{
"name" : "node_19",
- "id" : 6,
+ "id" : 8,
+ "source_info" : {
+ "filename" : "include/control/filtering.p4",
+ "line" : 135,
+ "column" : 19,
+ "source_fragment" : "hdr.inner_vlan_tag.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_vlan_tag", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_act_8",
+ "false_next" : "tbl_act_9"
+ },
+ {
+ "name" : "node_26",
+ "id" : 9,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 144,
@@ -5727,8 +6109,8 @@
"false_next" : "FabricIngress.spgw_ingress.dl_sess_lookup"
},
{
- "name" : "node_23",
- "id" : 7,
+ "name" : "node_30",
+ "id" : 10,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 148,
@@ -5753,12 +6135,12 @@
}
}
},
- "true_next" : "tbl_act_10",
- "false_next" : "tbl_act_11"
+ "true_next" : "tbl_act_14",
+ "false_next" : "tbl_act_15"
},
{
- "name" : "node_30",
- "id" : 8,
+ "name" : "node_37",
+ "id" : 11,
"expression" : {
"type" : "expression",
"value" : {
@@ -5770,12 +6152,12 @@
}
}
},
- "true_next" : "tbl_act_14",
- "false_next" : "tbl_act_15"
+ "true_next" : "tbl_act_18",
+ "false_next" : "tbl_act_19"
},
{
- "name" : "node_33",
- "id" : 9,
+ "name" : "node_40",
+ "id" : 12,
"expression" : {
"type" : "expression",
"value" : {
@@ -5794,15 +6176,15 @@
}
}
},
- "true_next" : "tbl_act_16",
- "false_next" : "node_35"
+ "true_next" : "tbl_act_20",
+ "false_next" : "node_42"
},
{
- "name" : "node_35",
- "id" : 10,
+ "name" : "node_42",
+ "id" : 13,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 74,
+ "line" : 71,
"column" : 12,
"source_fragment" : "fabric_metadata.skip_forwarding == false"
},
@@ -5817,7 +6199,7 @@
"left" : null,
"right" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
+ "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
}
}
},
@@ -5827,12 +6209,12 @@
}
}
},
- "true_next" : "node_36",
+ "true_next" : "node_43",
"false_next" : "FabricIngress.acl.acl"
},
{
- "name" : "node_36",
- "id" : 11,
+ "name" : "node_43",
+ "id" : 14,
"source_info" : {
"filename" : "include/control/forwarding.p4",
"line" : 141,
@@ -5845,7 +6227,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
+ "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -5854,11 +6236,11 @@
}
},
"true_next" : "FabricIngress.forwarding.bridging",
- "false_next" : "node_38"
+ "false_next" : "node_45"
},
{
- "name" : "node_38",
- "id" : 12,
+ "name" : "node_45",
+ "id" : 15,
"source_info" : {
"filename" : "include/control/forwarding.p4",
"line" : 142,
@@ -5871,7 +6253,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
+ "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -5880,11 +6262,11 @@
}
},
"true_next" : "FabricIngress.forwarding.mpls",
- "false_next" : "node_40"
+ "false_next" : "node_47"
},
{
- "name" : "node_40",
- "id" : 13,
+ "name" : "node_47",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/forwarding.p4",
"line" : 143,
@@ -5897,7 +6279,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
+ "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -5909,11 +6291,11 @@
"false_next" : "FabricIngress.acl.acl"
},
{
- "name" : "node_43",
- "id" : 14,
+ "name" : "node_50",
+ "id" : 17,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 78,
+ "line" : 75,
"column" : 12,
"source_fragment" : "fabric_metadata.skip_next == false"
},
@@ -5928,7 +6310,7 @@
"left" : null,
"right" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next8"]
+ "value" : ["scalars", "fabric_metadata_t._skip_next11"]
}
}
},
@@ -5942,8 +6324,8 @@
"true_next" : "FabricIngress.next.xconnect"
},
{
- "name" : "node_48",
- "id" : 15,
+ "name" : "node_55",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -5964,12 +6346,12 @@
}
}
},
- "true_next" : "tbl_act_17",
- "false_next" : "node_50"
+ "true_next" : "tbl_act_21",
+ "false_next" : "node_57"
},
{
- "name" : "node_50",
- "id" : 16,
+ "name" : "node_57",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -5991,7 +6373,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_18"
+ "true_next" : "tbl_act_22"
}
]
},
@@ -6000,15 +6382,15 @@
"id" : 1,
"source_info" : {
"filename" : "fabric.p4",
- "line" : 92,
+ "line" : 93,
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_54",
+ "init_table" : "node_61",
"tables" : [
{
- "name" : "tbl_act_19",
- "id" : 33,
+ "name" : "tbl_act_23",
+ "id" : 37,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -6022,22 +6404,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [57],
- "actions" : ["act_19"],
- "base_default_next" : "node_56",
+ "action_ids" : [61],
+ "actions" : ["act_23"],
+ "base_default_next" : "node_63",
"next_tables" : {
- "act_19" : "node_56"
+ "act_23" : "node_63"
},
"default_entry" : {
- "action_id" : 57,
+ "action_id" : 61,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_20",
- "id" : 34,
+ "name" : "tbl_act_24",
+ "id" : 38,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -6051,25 +6433,25 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [58],
- "actions" : ["act_20"],
- "base_default_next" : "node_58",
+ "action_ids" : [62],
+ "actions" : ["act_24"],
+ "base_default_next" : "node_65",
"next_tables" : {
- "act_20" : "node_58"
+ "act_24" : "node_65"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 62,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_21",
- "id" : 35,
+ "name" : "tbl_act_25",
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 308,
+ "line" : 334,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -6080,14 +6462,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [59],
- "actions" : ["act_21"],
- "base_default_next" : "node_60",
+ "action_ids" : [63],
+ "actions" : ["act_25"],
+ "base_default_next" : "node_67",
"next_tables" : {
- "act_21" : "node_60"
+ "act_25" : "node_67"
},
"default_entry" : {
- "action_id" : 59,
+ "action_id" : 63,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6095,10 +6477,10 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 36,
+ "id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 312,
+ "line" : 338,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -6109,14 +6491,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [53],
+ "action_ids" : [57],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 57,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6124,10 +6506,10 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 37,
+ "id" : 41,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 314,
+ "line" : 340,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -6138,14 +6520,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
+ "action_ids" : [58],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 58,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6153,10 +6535,10 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 38,
+ "id" : 42,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 291,
+ "line" : 317,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -6164,7 +6546,7 @@
{
"match_type" : "exact",
"name" : "vlan_id",
- "target" : ["scalars", "fabric_metadata_t._vlan_id2"],
+ "target" : ["scalars", "fabric_metadata_t._vlan_id5"],
"mask" : null
},
{
@@ -6180,87 +6562,12 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [56, 51],
+ "action_ids" : [60, 55],
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_22",
- "__MISS__" : "tbl_act_23"
- },
- "default_entry" : {
- "action_id" : 51,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_22",
- "id" : 39,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [60],
- "actions" : ["act_22"],
- "base_default_next" : "node_67",
- "next_tables" : {
- "act_22" : "node_67"
- },
- "default_entry" : {
- "action_id" : 60,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_23",
- "id" : 40,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [61],
- "actions" : ["act_23"],
- "base_default_next" : "node_67",
- "next_tables" : {
- "act_23" : "node_67"
- },
- "default_entry" : {
- "action_id" : 61,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_egress_next_push_vlan",
- "id" : 41,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 320,
- "column" : 16,
- "source_fragment" : "push_vlan()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [55],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_70",
- "next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_70"
+ "__HIT__" : "tbl_act_26",
+ "__MISS__" : "tbl_act_27"
},
"default_entry" : {
"action_id" : 55,
@@ -6270,11 +6577,86 @@
}
},
{
- "name" : "tbl_act_24",
- "id" : 42,
+ "name" : "tbl_act_26",
+ "id" : 43,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [64],
+ "actions" : ["act_26"],
+ "base_default_next" : "node_74",
+ "next_tables" : {
+ "act_26" : "node_74"
+ },
+ "default_entry" : {
+ "action_id" : 64,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_27",
+ "id" : 44,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [65],
+ "actions" : ["act_27"],
+ "base_default_next" : "node_74",
+ "next_tables" : {
+ "act_27" : "node_74"
+ },
+ "default_entry" : {
+ "action_id" : 65,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_push_vlan",
+ "id" : 45,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 326,
+ "line" : 357,
+ "column" : 20,
+ "source_fragment" : "push_vlan()"
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [59],
+ "actions" : ["FabricEgress.egress_next.push_vlan"],
+ "base_default_next" : "node_77",
+ "next_tables" : {
+ "FabricEgress.egress_next.push_vlan" : "node_77"
+ },
+ "default_entry" : {
+ "action_id" : 59,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_28",
+ "id" : 46,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 366,
"column" : 25,
"source_fragment" : "="
},
@@ -6285,25 +6667,25 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [63],
- "actions" : ["act_25"],
- "base_default_next" : "node_72",
+ "action_ids" : [67],
+ "actions" : ["act_29"],
+ "base_default_next" : "node_79",
"next_tables" : {
- "act_25" : "node_72"
+ "act_29" : "node_79"
},
"default_entry" : {
- "action_id" : 63,
+ "action_id" : 67,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_25",
- "id" : 43,
+ "name" : "tbl_act_29",
+ "id" : 47,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 327,
+ "line" : 367,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -6314,25 +6696,25 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [62],
- "actions" : ["act_24"],
- "base_default_next" : "node_78",
+ "action_ids" : [66],
+ "actions" : ["act_28"],
+ "base_default_next" : "node_85",
"next_tables" : {
- "act_24" : "node_78"
+ "act_28" : "node_85"
},
"default_entry" : {
- "action_id" : 62,
+ "action_id" : 66,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_26",
- "id" : 44,
+ "name" : "tbl_act_30",
+ "id" : 48,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 330,
+ "line" : 370,
"column" : 29,
"source_fragment" : "="
},
@@ -6343,25 +6725,25 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [65],
- "actions" : ["act_27"],
- "base_default_next" : "node_76",
+ "action_ids" : [69],
+ "actions" : ["act_31"],
+ "base_default_next" : "node_83",
"next_tables" : {
- "act_27" : "node_76"
+ "act_31" : "node_83"
},
"default_entry" : {
- "action_id" : 65,
+ "action_id" : 69,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_27",
- "id" : 45,
+ "name" : "tbl_act_31",
+ "id" : 49,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 331,
+ "line" : 371,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -6372,14 +6754,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [64],
- "actions" : ["act_26"],
- "base_default_next" : "node_78",
+ "action_ids" : [68],
+ "actions" : ["act_30"],
+ "base_default_next" : "node_85",
"next_tables" : {
- "act_26" : "node_78"
+ "act_30" : "node_85"
},
"default_entry" : {
- "action_id" : 64,
+ "action_id" : 68,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6387,7 +6769,7 @@
},
{
"name" : "tbl_spgw_egress_gtpu_encap",
- "id" : 46,
+ "id" : 50,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 228,
@@ -6401,14 +6783,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [52],
+ "action_ids" : [56],
"actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
"base_default_next" : null,
"next_tables" : {
"FabricEgress.spgw_egress.gtpu_encap" : null
},
"default_entry" : {
- "action_id" : 52,
+ "action_id" : 56,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6418,8 +6800,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_54",
- "id" : 17,
+ "name" : "node_61",
+ "id" : 20,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 39,
@@ -6437,7 +6819,7 @@
"left" : null,
"right" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out12"]
+ "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
}
}
},
@@ -6447,12 +6829,12 @@
}
}
},
- "true_next" : "tbl_act_19",
- "false_next" : "node_56"
+ "true_next" : "tbl_act_23",
+ "false_next" : "node_63"
},
{
- "name" : "node_56",
- "id" : 18,
+ "name" : "node_63",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -6473,15 +6855,15 @@
}
}
},
- "true_next" : "tbl_act_20",
- "false_next" : "node_58"
+ "true_next" : "tbl_act_24",
+ "false_next" : "node_65"
},
{
- "name" : "node_58",
- "id" : 19,
+ "name" : "node_65",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 306,
+ "line" : 332,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -6500,7 +6882,7 @@
"left" : null,
"right" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_multicast11"]
+ "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
}
}
},
@@ -6526,15 +6908,15 @@
}
}
},
- "true_next" : "tbl_act_21",
- "false_next" : "node_60"
+ "true_next" : "tbl_act_25",
+ "false_next" : "node_67"
},
{
- "name" : "node_60",
- "id" : 20,
+ "name" : "node_67",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 311,
+ "line" : 337,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -6544,7 +6926,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
+ "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
},
"right" : {
"type" : "hexstr",
@@ -6552,15 +6934,15 @@
}
}
},
- "true_next" : "node_61",
+ "true_next" : "node_68",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_61",
- "id" : 21,
+ "name" : "node_68",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 312,
+ "line" : 338,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -6579,12 +6961,12 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_67",
- "id" : 22,
+ "name" : "node_74",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 317,
- "column" : 12,
+ "line" : 354,
+ "column" : 16,
"source_fragment" : "!egress_vlan.apply().hit"
},
"expression" : {
@@ -6605,16 +6987,16 @@
}
}
},
- "true_next" : "node_68",
- "false_next" : "node_70"
+ "true_next" : "node_75",
+ "false_next" : "node_77"
},
{
- "name" : "node_68",
- "id" : 23,
+ "name" : "node_75",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 319,
- "column" : 16,
+ "line" : 356,
+ "column" : 20,
"source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
},
"expression" : {
@@ -6623,7 +7005,7 @@
"op" : "!=",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
+ "value" : ["scalars", "fabric_metadata_t._vlan_id5"]
},
"right" : {
"type" : "hexstr",
@@ -6632,14 +7014,14 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_70"
+ "false_next" : "node_77"
},
{
- "name" : "node_70",
- "id" : 24,
+ "name" : "node_77",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 325,
+ "line" : 365,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -6654,15 +7036,15 @@
}
}
},
- "true_next" : "tbl_act_24",
- "false_next" : "node_74"
+ "true_next" : "tbl_act_28",
+ "false_next" : "node_81"
},
{
- "name" : "node_72",
- "id" : 25,
+ "name" : "node_79",
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 327,
+ "line" : 367,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -6680,15 +7062,15 @@
}
}
},
- "true_next" : "tbl_act_25",
- "false_next" : "node_78"
+ "true_next" : "tbl_act_29",
+ "false_next" : "node_85"
},
{
- "name" : "node_74",
- "id" : 26,
+ "name" : "node_81",
+ "id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 329,
+ "line" : 369,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -6703,15 +7085,15 @@
}
}
},
- "true_next" : "tbl_act_26",
- "false_next" : "node_78"
+ "true_next" : "tbl_act_30",
+ "false_next" : "node_85"
},
{
- "name" : "node_76",
- "id" : 27,
+ "name" : "node_83",
+ "id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 331,
+ "line" : 371,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -6729,12 +7111,12 @@
}
}
},
- "true_next" : "tbl_act_27",
- "false_next" : "node_78"
+ "true_next" : "tbl_act_31",
+ "false_next" : "node_85"
},
{
- "name" : "node_78",
- "id" : 28,
+ "name" : "node_85",
+ "id" : 31,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 227,
@@ -6747,7 +7129,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction19"]
},
"right" : {
"type" : "hexstr",