Added support for clone session on fabric.p4
Now on ACL table in fabric.p4 you can clone a packet to the CPU using the clone session.
Change-Id: Ic21f948cffe553e32e7b2fe1f7af49b6a387fffb
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 ca5fc41..b1d3a47 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
@@ -26,16 +26,15 @@
["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._clone_to_cpu13", 1, false],
- ["fabric_metadata_t._ip_proto14", 8, false],
- ["fabric_metadata_t._l4_sport15", 16, false],
- ["fabric_metadata_t._l4_dport16", 16, false],
- ["fabric_metadata_t._spgw_direction17", 2, false],
- ["fabric_metadata_t._spgw_ipv4_len18", 16, false],
- ["fabric_metadata_t._spgw_teid19", 32, false],
- ["fabric_metadata_t._spgw_s1u_enb_addr20", 32, false],
- ["fabric_metadata_t._spgw_s1u_sgw_addr21", 32, false],
- ["_padding_0", 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]
]
},
{
@@ -311,7 +310,108 @@
"header_union_types" : [],
"header_unions" : [],
"header_union_stacks" : [],
- "field_lists" : [],
+ "field_lists" : [
+ {
+ "id" : 1,
+ "name" : "fl",
+ "source_info" : {
+ "filename" : "fabric.p4",
+ "line" : 77,
+ "column" : 40,
+ "source_fragment" : "standard_metadata"
+ },
+ "elements" : [
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_spec"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "clone_spec"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "instance_type"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "drop"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "recirculate_port"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "packet_length"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_timestamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "enq_qdepth"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_timedelta"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "deq_qdepth"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "ingress_global_timestamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_global_timestamp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "lf_field_list"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "mcast_grp"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "resubmit_flag"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "egress_rid"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "recirculate_flag"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "checksum_error"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "parser_error"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "priority"]
+ }
+ ]
+ }
+ ],
"errors" : [
["NoError", 1],
["PacketTooShort", 2],
@@ -623,7 +723,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_proto14"]
+ "value" : ["scalars", "fabric_metadata_t._ip_proto13"]
},
{
"type" : "field",
@@ -695,7 +795,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
},
{
"type" : "field",
@@ -708,7 +808,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport16"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
},
{
"type" : "field",
@@ -744,7 +844,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
},
{
"type" : "field",
@@ -757,7 +857,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport16"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
},
{
"type" : "field",
@@ -953,7 +1053,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
},
{
"type" : "field",
@@ -966,7 +1066,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport16"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
},
{
"type" : "field",
@@ -1490,7 +1590,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_teid19"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_teid18"]
},
{
"type" : "runtime_data",
@@ -1509,7 +1609,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr20"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr19"]
},
{
"type" : "runtime_data",
@@ -1528,7 +1628,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr21"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr20"]
},
{
"type" : "runtime_data",
@@ -1882,37 +1982,32 @@
]
},
{
- "name" : "FabricIngress.acl.clone_to_cpu",
+ "name" : "FabricIngress.acl.set_clone_session_id",
"id" : 21,
- "runtime_data" : [],
+ "runtime_data" : [
+ {
+ "name" : "clone_id",
+ "bitwidth" : 32
+ }
+ ],
"primitives" : [
{
- "op" : "assign",
+ "op" : "clone_ingress_pkt_to_egress",
"parameters" : [
{
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._clone_to_cpu13"]
+ "type" : "runtime_data",
+ "value" : 0
},
{
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
+ "type" : "hexstr",
+ "value" : "0x1"
}
],
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 46,
- "column" : 37,
- "source_fragment" : "= true; ..."
+ "column" : 8,
+ "source_fragment" : "clone3<standard_metadata_t>(CloneType.I2E, clone_id, standard_metadata)"
}
}
]
@@ -2824,7 +2919,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
},
{
"type" : "hexstr",
@@ -2910,7 +3005,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
},
{
"type" : "hexstr",
@@ -2936,7 +3031,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
},
{
"type" : "hexstr",
@@ -3021,7 +3116,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len18"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len17"]
},
{
"type" : "field",
@@ -3401,7 +3496,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr20"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_enb_addr19"]
}
],
"source_info" : {
@@ -3420,7 +3515,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr21"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_s1u_sgw_addr20"]
}
],
"source_info" : {
@@ -3521,7 +3616,7 @@
"op" : "+",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len18"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len17"]
},
"right" : {
"type" : "hexstr",
@@ -3720,7 +3815,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len18"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_ipv4_len17"]
}
],
"source_info" : {
@@ -3739,7 +3834,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_teid19"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_teid18"]
}
],
"source_info" : {
@@ -4090,28 +4185,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "mark_to_drop",
- "parameters" : [
- {
- "type" : "header",
- "value" : "standard_metadata"
- }
- ],
- "source_info" : {
- "filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop(standard_metadata)"
- }
- }
- ]
- },
- {
- "name" : "act_21",
- "id" : 59,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "add_header",
"parameters" : [
{
@@ -4121,7 +4194,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 49,
+ "line" : 44,
"column" : 12,
"source_fragment" : "hdr.packet_in.setValid()"
}
@@ -4140,7 +4213,7 @@
],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 50,
+ "line" : 45,
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
@@ -4150,7 +4223,7 @@
"parameters" : [],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 52,
+ "line" : 47,
"column" : 12,
"source_fragment" : "exit"
}
@@ -4158,8 +4231,8 @@
]
},
{
- "name" : "act_22",
- "id" : 60,
+ "name" : "act_21",
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -4180,8 +4253,8 @@
]
},
{
- "name" : "act_23",
- "id" : 61,
+ "name" : "act_22",
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -4210,8 +4283,8 @@
]
},
{
- "name" : "act_24",
- "id" : 62,
+ "name" : "act_23",
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -4240,8 +4313,8 @@
]
},
{
- "name" : "act_25",
- "id" : 63,
+ "name" : "act_24",
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -4262,8 +4335,8 @@
]
},
{
- "name" : "act_26",
- "id" : 64,
+ "name" : "act_25",
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -4311,8 +4384,8 @@
]
},
{
- "name" : "act_27",
- "id" : 65,
+ "name" : "act_26",
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -4333,8 +4406,8 @@
]
},
{
- "name" : "act_28",
- "id" : 66,
+ "name" : "act_27",
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -5224,19 +5297,19 @@
{
"match_type" : "ternary",
"name" : "ip_proto",
- "target" : ["scalars", "fabric_metadata_t._ip_proto14"],
+ "target" : ["scalars", "fabric_metadata_t._ip_proto13"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_sport",
- "target" : ["scalars", "fabric_metadata_t._l4_sport15"],
+ "target" : ["scalars", "fabric_metadata_t._l4_sport14"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_dport",
- "target" : ["scalars", "fabric_metadata_t._l4_dport16"],
+ "target" : ["scalars", "fabric_metadata_t._l4_dport15"],
"mask" : null
},
{
@@ -5295,12 +5368,12 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [19, 20, 21, 22, 23],
- "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.clone_to_cpu", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
+ "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",
"next_tables" : {
"FabricIngress.acl.set_next_id_acl" : "node_43",
"FabricIngress.acl.punt_to_cpu" : "node_43",
- "FabricIngress.acl.clone_to_cpu" : "node_43",
+ "FabricIngress.acl.set_clone_session_id" : "node_43",
"FabricIngress.acl.drop" : "node_43",
"FabricIngress.acl.nop_acl" : "node_43"
},
@@ -5546,15 +5619,15 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_proto14"]
+ "value" : ["scalars", "fabric_metadata_t._ip_proto13"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport15"]
+ "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport16"]
+ "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
}
]
}
@@ -6051,9 +6124,9 @@
"id" : 34,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop(standard_metadata)"
+ "line" : 44,
+ "column" : 12,
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
},
"key" : [],
"match_type" : "exact",
@@ -6064,9 +6137,9 @@
"direct_meters" : null,
"action_ids" : [58],
"actions" : ["act_20"],
- "base_default_next" : "tbl_act_21",
+ "base_default_next" : "node_58",
"next_tables" : {
- "act_20" : "tbl_act_21"
+ "act_20" : "node_58"
},
"default_entry" : {
"action_id" : 58,
@@ -6079,10 +6152,10 @@
"name" : "tbl_act_21",
"id" : 35,
"source_info" : {
- "filename" : "include/control/packetio.p4",
- "line" : 49,
+ "filename" : "include/control/next.p4",
+ "line" : 308,
"column" : 12,
- "source_fragment" : "hdr.packet_in.setValid(); ..."
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -6105,37 +6178,8 @@
}
},
{
- "name" : "tbl_act_22",
- "id" : 36,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
- "column" : 12,
- "source_fragment" : "mark_to_drop(standard_metadata)"
- },
- "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_62",
- "next_tables" : {
- "act_22" : "node_62"
- },
- "default_entry" : {
- "action_id" : 60,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 37,
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 312,
@@ -6164,7 +6208,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 38,
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 314,
@@ -6193,7 +6237,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 39,
+ "id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 291,
@@ -6224,8 +6268,8 @@
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_23",
- "__MISS__" : "tbl_act_24"
+ "__HIT__" : "tbl_act_22",
+ "__MISS__" : "tbl_act_23"
},
"default_entry" : {
"action_id" : 51,
@@ -6235,6 +6279,29 @@
}
},
{
+ "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" : [],
@@ -6246,9 +6313,9 @@
"direct_meters" : null,
"action_ids" : [61],
"actions" : ["act_23"],
- "base_default_next" : "node_69",
+ "base_default_next" : "node_67",
"next_tables" : {
- "act_23" : "node_69"
+ "act_23" : "node_67"
},
"default_entry" : {
"action_id" : 61,
@@ -6258,31 +6325,8 @@
}
},
{
- "name" : "tbl_act_24",
- "id" : 41,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [62],
- "actions" : ["act_24"],
- "base_default_next" : "node_69",
- "next_tables" : {
- "act_24" : "node_69"
- },
- "default_entry" : {
- "action_id" : 62,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_egress_next_push_vlan",
- "id" : 42,
+ "id" : 41,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 320,
@@ -6298,9 +6342,9 @@
"direct_meters" : null,
"action_ids" : [55],
"actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_72",
+ "base_default_next" : "node_70",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_72"
+ "FabricEgress.egress_next.push_vlan" : "node_70"
},
"default_entry" : {
"action_id" : 55,
@@ -6310,8 +6354,8 @@
}
},
{
- "name" : "tbl_act_25",
- "id" : 43,
+ "name" : "tbl_act_24",
+ "id" : 42,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 326,
@@ -6325,22 +6369,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [64],
- "actions" : ["act_26"],
- "base_default_next" : "node_74",
+ "action_ids" : [63],
+ "actions" : ["act_25"],
+ "base_default_next" : "node_72",
"next_tables" : {
- "act_26" : "node_74"
+ "act_25" : "node_72"
},
"default_entry" : {
- "action_id" : 64,
+ "action_id" : 63,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_26",
- "id" : 44,
+ "name" : "tbl_act_25",
+ "id" : 43,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
@@ -6354,22 +6398,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [63],
- "actions" : ["act_25"],
- "base_default_next" : "node_80",
+ "action_ids" : [62],
+ "actions" : ["act_24"],
+ "base_default_next" : "node_78",
"next_tables" : {
- "act_25" : "node_80"
+ "act_24" : "node_78"
},
"default_entry" : {
- "action_id" : 63,
+ "action_id" : 62,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_27",
- "id" : 45,
+ "name" : "tbl_act_26",
+ "id" : 44,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 330,
@@ -6383,22 +6427,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [66],
- "actions" : ["act_28"],
- "base_default_next" : "node_78",
+ "action_ids" : [65],
+ "actions" : ["act_27"],
+ "base_default_next" : "node_76",
"next_tables" : {
- "act_28" : "node_78"
+ "act_27" : "node_76"
},
"default_entry" : {
- "action_id" : 66,
+ "action_id" : 65,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_28",
- "id" : 46,
+ "name" : "tbl_act_27",
+ "id" : 45,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -6412,14 +6456,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [65],
- "actions" : ["act_27"],
- "base_default_next" : "node_80",
+ "action_ids" : [64],
+ "actions" : ["act_26"],
+ "base_default_next" : "node_78",
"next_tables" : {
- "act_27" : "node_80"
+ "act_26" : "node_78"
},
"default_entry" : {
- "action_id" : 65,
+ "action_id" : 64,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6427,7 +6471,7 @@
},
{
"name" : "tbl_spgw_egress_gtpu_encap",
- "id" : 47,
+ "id" : 46,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 228,
@@ -6513,72 +6557,12 @@
}
}
},
- "true_next" : "node_57",
- "false_next" : "node_60"
- },
- {
- "name" : "node_57",
- "id" : 19,
- "source_info" : {
- "filename" : "include/control/packetio.p4",
- "line" : 44,
- "column" : 16,
- "source_fragment" : "fabric_metadata.is_multicast == true && ..."
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "and",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_multicast11"]
- }
- }
- },
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- },
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._clone_to_cpu13"]
- }
- }
- },
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- },
"true_next" : "tbl_act_20",
- "false_next" : "tbl_act_21"
+ "false_next" : "node_58"
},
{
- "name" : "node_60",
- "id" : 20,
+ "name" : "node_58",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 306,
@@ -6626,12 +6610,12 @@
}
}
},
- "true_next" : "tbl_act_22",
- "false_next" : "node_62"
+ "true_next" : "tbl_act_21",
+ "false_next" : "node_60"
},
{
- "name" : "node_62",
- "id" : 21,
+ "name" : "node_60",
+ "id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 311,
@@ -6652,12 +6636,12 @@
}
}
},
- "true_next" : "node_63",
+ "true_next" : "node_61",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_63",
- "id" : 22,
+ "name" : "node_61",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 312,
@@ -6679,8 +6663,8 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_69",
- "id" : 23,
+ "name" : "node_67",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 317,
@@ -6705,12 +6689,12 @@
}
}
},
- "true_next" : "node_70",
- "false_next" : "node_72"
+ "true_next" : "node_68",
+ "false_next" : "node_70"
},
{
- "name" : "node_70",
- "id" : 24,
+ "name" : "node_68",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 319,
@@ -6732,11 +6716,11 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_72"
+ "false_next" : "node_70"
},
{
- "name" : "node_72",
- "id" : 25,
+ "name" : "node_70",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 325,
@@ -6754,12 +6738,12 @@
}
}
},
- "true_next" : "tbl_act_25",
- "false_next" : "node_76"
+ "true_next" : "tbl_act_24",
+ "false_next" : "node_74"
},
{
- "name" : "node_74",
- "id" : 26,
+ "name" : "node_72",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
@@ -6780,12 +6764,12 @@
}
}
},
- "true_next" : "tbl_act_26",
- "false_next" : "node_80"
+ "true_next" : "tbl_act_25",
+ "false_next" : "node_78"
},
{
- "name" : "node_76",
- "id" : 27,
+ "name" : "node_74",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 329,
@@ -6803,12 +6787,12 @@
}
}
},
- "true_next" : "tbl_act_27",
- "false_next" : "node_80"
+ "true_next" : "tbl_act_26",
+ "false_next" : "node_78"
},
{
- "name" : "node_78",
- "id" : 28,
+ "name" : "node_76",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -6829,12 +6813,12 @@
}
}
},
- "true_next" : "tbl_act_28",
- "false_next" : "node_80"
+ "true_next" : "tbl_act_27",
+ "false_next" : "node_78"
},
{
- "name" : "node_80",
- "id" : 29,
+ "name" : "node_78",
+ "id" : 28,
"source_info" : {
"filename" : "include/spgw.p4",
"line" : 227,
@@ -6847,7 +6831,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._spgw_direction17"]
+ "value" : ["scalars", "fabric_metadata_t._spgw_direction16"]
},
"right" : {
"type" : "hexstr",