SDFAB-193 Add packet-out routing feature to fabric-v1model
This is a port from fabric-tna:
https://github.com/stratum/fabric-tna/pull/262
By default, all packet-outs are sent straight to the egress port passed
as a controller packet-out metadata, bypassing the forwarding tables in
the ingress pipe. With this change, the control plane can set a new
packet-out metadata named `do_forwarding` to instruct the parser to
forward packet-outs as regular packets.
When handling `OutboundPacket` in ONOS, the pipeconf (interpreter) uses
the `OUTPUT` instruction with logical port `TABLE` to enable forwarding.
This is consistent with the OpenFlow behavior, from the spec:
Required: TABLE: Represents the start of the OpenFlow pipeline (see
5.1). This port is only valid in an output action in the action list
of a packet-out message (see 7.3.7), and submits the packet to the
first flow table so that the packet can be processed through the
regular OpenFlow pipeline.
We also rename some test classes for consistency with main classes.
Before we had a FabricPipelinerTest class that was used for a different
purpose than testing FabricPipeliner.
Change-Id: I1b47c4b4f233df5b67d1a6dc743dea27c54772b2
(cherry picked from commit db347377bec8bf6f71fb9828f4dc552731e562f7)
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
index 78933e1..19b8530 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
@@ -4,55 +4,61 @@
"name" : "scalars_0",
"id" : 0,
"fields" : [
- ["tmp", 16, false],
- ["tmp_0", 16, false],
- ["tmp_1", 4, false],
+ ["tmp_0", 1, false],
+ ["tmp_1", 16, false],
+ ["tmp_3", 16, false],
+ ["tmp_5", 4, false],
+ ["tmp_6", 16, false],
["tmp_2", 32, false],
- ["tmp_3", 32, false],
- ["bng_ingress_upstream_tmp", 1, false],
- ["bng_ingress_downstream_tmp", 1, false],
+ ["tmp_4", 32, false],
["bng_ingress_upstream_hasReturned", 1, false],
- ["fabric_metadata_t._ip_eth_type0", 16, false],
- ["fabric_metadata_t._vlan_id1", 12, false],
- ["fabric_metadata_t._vlan_pri2", 3, false],
- ["fabric_metadata_t._vlan_cfi3", 1, false],
- ["fabric_metadata_t._push_double_vlan4", 1, false],
- ["fabric_metadata_t._inner_vlan_id5", 12, false],
- ["fabric_metadata_t._inner_vlan_pri6", 3, false],
- ["fabric_metadata_t._inner_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._ipv4_src_addr19", 32, false],
- ["fabric_metadata_t._ipv4_dst_addr20", 32, false],
- ["fabric_metadata_t._bng_type21", 2, false],
- ["fabric_metadata_t._bng_line_id22", 32, false],
- ["fabric_metadata_t._bng_pppoe_session_id23", 16, false],
- ["fabric_metadata_t._bng_ds_meter_result24", 32, false],
- ["fabric_metadata_t._bng_s_tag25", 12, false],
- ["fabric_metadata_t._bng_c_tag26", 12, false],
- ["_padding_0", 3, false]
+ ["userMetadata._ip_eth_type0", 16, false],
+ ["userMetadata._vlan_id1", 12, false],
+ ["userMetadata._vlan_pri2", 3, false],
+ ["userMetadata._vlan_cfi3", 1, false],
+ ["userMetadata._push_double_vlan4", 1, false],
+ ["userMetadata._inner_vlan_id5", 12, false],
+ ["userMetadata._inner_vlan_pri6", 3, false],
+ ["userMetadata._inner_vlan_cfi7", 1, false],
+ ["userMetadata._mpls_label8", 20, false],
+ ["userMetadata._mpls_ttl9", 8, false],
+ ["userMetadata._skip_forwarding10", 1, false],
+ ["userMetadata._skip_next11", 1, false],
+ ["userMetadata._fwd_type12", 3, false],
+ ["userMetadata._next_id13", 32, false],
+ ["userMetadata._is_multicast14", 1, false],
+ ["userMetadata._is_controller_packet_out15", 1, false],
+ ["userMetadata._ip_proto16", 8, false],
+ ["userMetadata._l4_sport17", 16, false],
+ ["userMetadata._l4_dport18", 16, false],
+ ["userMetadata._ipv4_src_addr19", 32, false],
+ ["userMetadata._ipv4_dst_addr20", 32, false],
+ ["userMetadata._bng_type21", 2, false],
+ ["userMetadata._bng_line_id22", 32, false],
+ ["userMetadata._bng_pppoe_session_id23", 16, false],
+ ["userMetadata._bng_ds_meter_result24", 32, false],
+ ["userMetadata._bng_s_tag25", 12, false],
+ ["userMetadata._bng_c_tag26", 12, false],
+ ["_padding_0", 4, false]
+ ]
+ },
+ {
+ "name" : "packet_out_header_t",
+ "id" : 1,
+ "fields" : [
+ ["egress_port", 9, false],
+ ["do_forwarding", 1, false],
+ ["_pad", 6, false]
]
},
{
"name" : "standard_metadata",
- "id" : 1,
+ "id" : 2,
"fields" : [
["ingress_port", 9, false],
["egress_spec", 9, false],
["egress_port", 9, false],
- ["clone_spec", 32, false],
["instance_type", 32, false],
- ["drop", 1, false],
- ["recirculate_port", 16, false],
["packet_length", 32, false],
["enq_timestamp", 32, false],
["enq_qdepth", 19, false],
@@ -60,20 +66,17 @@
["deq_qdepth", 19, false],
["ingress_global_timestamp", 48, false],
["egress_global_timestamp", 48, false],
- ["lf_field_list", 32, false],
["mcast_grp", 16, false],
- ["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["recirculate_flag", 32, false],
["checksum_error", 1, false],
["parser_error", 32, false],
["priority", 3, false],
- ["_padding", 2, false]
+ ["_padding", 3, false]
]
},
{
"name" : "ethernet_t",
- "id" : 2,
+ "id" : 3,
"fields" : [
["dst_addr", 48, false],
["src_addr", 48, false]
@@ -81,7 +84,7 @@
},
{
"name" : "vlan_tag_t",
- "id" : 3,
+ "id" : 4,
"fields" : [
["eth_type", 16, false],
["pri", 3, false],
@@ -91,14 +94,14 @@
},
{
"name" : "eth_type_t",
- "id" : 4,
+ "id" : 5,
"fields" : [
["value", 16, false]
]
},
{
"name" : "pppoe_t",
- "id" : 5,
+ "id" : 6,
"fields" : [
["version", 4, false],
["type_id", 4, false],
@@ -110,7 +113,7 @@
},
{
"name" : "mpls_t",
- "id" : 6,
+ "id" : 7,
"fields" : [
["label", 20, false],
["tc", 3, false],
@@ -120,7 +123,7 @@
},
{
"name" : "ipv4_t",
- "id" : 7,
+ "id" : 8,
"fields" : [
["version", 4, false],
["ihl", 4, false],
@@ -139,7 +142,7 @@
},
{
"name" : "tcp_t",
- "id" : 8,
+ "id" : 9,
"fields" : [
["sport", 16, false],
["dport", 16, false],
@@ -156,7 +159,7 @@
},
{
"name" : "udp_t",
- "id" : 9,
+ "id" : 10,
"fields" : [
["sport", 16, false],
["dport", 16, false],
@@ -166,7 +169,7 @@
},
{
"name" : "icmp_t",
- "id" : 10,
+ "id" : 11,
"fields" : [
["icmp_type", 8, false],
["icmp_code", 8, false],
@@ -177,14 +180,6 @@
]
},
{
- "name" : "packet_out_header_t",
- "id" : 11,
- "fields" : [
- ["egress_port", 9, false],
- ["_pad", 7, false]
- ]
- },
- {
"name" : "packet_in_header_t",
"id" : 12,
"fields" : [
@@ -195,99 +190,106 @@
],
"headers" : [
{
- "name" : "scalars",
+ "name" : "tmp",
"id" : 0,
+ "header_type" : "packet_out_header_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "scalars",
+ "id" : 1,
"header_type" : "scalars_0",
"metadata" : true,
"pi_omit" : true
},
{
"name" : "standard_metadata",
- "id" : 1,
+ "id" : 2,
"header_type" : "standard_metadata",
"metadata" : true,
"pi_omit" : true
},
{
"name" : "ethernet",
- "id" : 2,
+ "id" : 3,
"header_type" : "ethernet_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "vlan_tag",
- "id" : 3,
- "header_type" : "vlan_tag_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "inner_vlan_tag",
"id" : 4,
"header_type" : "vlan_tag_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "eth_type",
+ "name" : "inner_vlan_tag",
"id" : 5,
+ "header_type" : "vlan_tag_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "eth_type",
+ "id" : 6,
"header_type" : "eth_type_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "pppoe",
- "id" : 6,
+ "id" : 7,
"header_type" : "pppoe_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "mpls",
- "id" : 7,
+ "id" : 8,
"header_type" : "mpls_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "ipv4",
- "id" : 8,
+ "id" : 9,
"header_type" : "ipv4_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "tcp",
- "id" : 9,
+ "id" : 10,
"header_type" : "tcp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "udp",
- "id" : 10,
+ "id" : 11,
"header_type" : "udp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "icmp",
- "id" : 11,
+ "id" : 12,
"header_type" : "icmp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_out",
- "id" : 12,
+ "id" : 13,
"header_type" : "packet_out_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_in",
- "id" : 13,
+ "id" : 14,
"header_type" : "packet_in_header_t",
"metadata" : false,
"pi_omit" : true
@@ -340,10 +342,11 @@
"type" : "hexstr",
"value" : "0x00ff",
"mask" : null,
- "next_state" : "parse_packet_out"
+ "next_state" : "check_packet_out"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_ethernet"
}
@@ -356,12 +359,229 @@
]
},
{
- "name" : "parse_packet_out",
+ "name" : "check_packet_out",
"id" : 1,
"parser_ops" : [
{
"parameters" : [
{
+ "type" : "field",
+ "value" : ["scalars", "tmp_6"]
+ },
+ {
+ "type" : "lookahead",
+ "value" : [0, 16]
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "tmp"
+ }
+ ],
+ "op" : "add_header"
+ }
+ ],
+ "op" : "primitive"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["tmp", "egress_port"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : ">>",
+ "left" : {
+ "type" : "field",
+ "value" : ["scalars", "tmp_6"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x7"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01ff"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["tmp", "do_forwarding"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : ">>",
+ "left" : {
+ "type" : "field",
+ "value" : ["scalars", "tmp_6"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x6"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["tmp", "_pad"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "field",
+ "value" : ["scalars", "tmp_6"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x3f"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_0"]
+ },
+ {
+ "type" : "expression",
+ "value" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "&",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : ">>",
+ "left" : {
+ "type" : "field",
+ "value" : ["scalars", "tmp_6"]
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x6"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0xffff"
+ }
+ }
+ },
+ "right" : {
+ "type" : "hexstr",
+ "value" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "op" : "set"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x00",
+ "mask" : null,
+ "next_state" : "parse_packet_out_and_accept"
+ },
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : "strip_packet_out"
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "tmp_0"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_packet_out_and_accept",
+ "id" : 2,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
"type" : "regular",
"value" : "packet_out"
}
@@ -371,7 +591,32 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "strip_packet_out",
+ "id" : 3,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x00000010"
+ }
+ ],
+ "op" : "advance"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_ethernet"
}
@@ -380,7 +625,7 @@
},
{
"name" : "parse_ethernet",
- "id" : 2,
+ "id" : 4,
"parser_ops" : [
{
"parameters" : [
@@ -395,7 +640,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
},
{
"type" : "hexstr",
@@ -408,7 +653,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -438,7 +683,8 @@
"next_state" : "parse_vlan_tag"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_eth_type"
}
@@ -446,13 +692,13 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
{
"name" : "parse_vlan_tag",
- "id" : 3,
+ "id" : 5,
"parser_ops" : [
{
"parameters" : [
@@ -467,7 +713,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_s_tag25"]
+ "value" : ["scalars", "userMetadata._bng_s_tag25"]
},
{
"type" : "field",
@@ -480,7 +726,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
},
{
"type" : "lookahead",
@@ -498,7 +744,8 @@
"next_state" : "parse_inner_vlan_tag"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_eth_type"
}
@@ -506,13 +753,13 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
}
]
},
{
"name" : "parse_inner_vlan_tag",
- "id" : 4,
+ "id" : 6,
"parser_ops" : [
{
"parameters" : [
@@ -527,7 +774,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_c_tag26"]
+ "value" : ["scalars", "userMetadata._bng_c_tag26"]
},
{
"type" : "field",
@@ -539,7 +786,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_eth_type"
}
@@ -548,7 +796,7 @@
},
{
"name" : "parse_eth_type",
- "id" : 5,
+ "id" : 7,
"parser_ops" : [
{
"parameters" : [
@@ -586,7 +834,8 @@
"next_state" : "parse_pppoe"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -600,7 +849,7 @@
},
{
"name" : "parse_pppoe",
- "id" : 6,
+ "id" : 8,
"parser_ops" : [
{
"parameters" : [
@@ -626,7 +875,8 @@
"next_state" : "parse_ipv4"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -640,7 +890,7 @@
},
{
"name" : "parse_mpls",
- "id" : 7,
+ "id" : 9,
"parser_ops" : [
{
"parameters" : [
@@ -655,7 +905,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
+ "value" : ["scalars", "userMetadata._mpls_label8"]
},
{
"type" : "field",
@@ -668,7 +918,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
+ "value" : ["scalars", "userMetadata._mpls_ttl9"]
},
{
"type" : "field",
@@ -681,7 +931,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_5"]
},
{
"type" : "lookahead",
@@ -699,7 +949,8 @@
"next_state" : "parse_ipv4"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_ethernet"
}
@@ -707,13 +958,13 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_5"]
}
]
},
{
"name" : "parse_ipv4",
- "id" : 8,
+ "id" : 10,
"parser_ops" : [
{
"parameters" : [
@@ -728,7 +979,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
+ "value" : ["scalars", "userMetadata._ip_proto16"]
},
{
"type" : "field",
@@ -741,7 +992,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
+ "value" : ["scalars", "userMetadata._ip_eth_type0"]
},
{
"type" : "hexstr",
@@ -754,7 +1005,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"]
+ "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
},
{
"type" : "field",
@@ -767,7 +1018,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"]
+ "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
},
{
"type" : "field",
@@ -797,7 +1048,8 @@
"next_state" : "parse_icmp"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -811,7 +1063,7 @@
},
{
"name" : "parse_tcp",
- "id" : 9,
+ "id" : 11,
"parser_ops" : [
{
"parameters" : [
@@ -826,7 +1078,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
+ "value" : ["scalars", "userMetadata._l4_sport17"]
},
{
"type" : "field",
@@ -839,7 +1091,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
+ "value" : ["scalars", "userMetadata._l4_dport18"]
},
{
"type" : "field",
@@ -851,7 +1103,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -860,7 +1113,7 @@
},
{
"name" : "parse_udp",
- "id" : 10,
+ "id" : 12,
"parser_ops" : [
{
"parameters" : [
@@ -875,7 +1128,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
+ "value" : ["scalars", "userMetadata._l4_sport17"]
},
{
"type" : "field",
@@ -888,7 +1141,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
+ "value" : ["scalars", "userMetadata._l4_dport18"]
},
{
"type" : "field",
@@ -900,7 +1153,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -914,7 +1168,7 @@
},
{
"name" : "parse_icmp",
- "id" : 11,
+ "id" : 13,
"parser_ops" : [
{
"parameters" : [
@@ -928,7 +1182,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -945,11 +1200,12 @@
"id" : 0,
"source_info" : {
"filename" : "include/parser.p4",
- "line" : 268,
+ "line" : 283,
"column" : 8,
"source_fragment" : "FabricDeparser"
},
- "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
+ "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"],
+ "primitives" : []
}
],
"meter_arrays" : [
@@ -1403,7 +1659,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
}
],
"source_info" : {
@@ -1425,7 +1681,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_type21"]
+ "value" : ["scalars", "userMetadata._bng_type21"]
},
{
"type" : "hexstr",
@@ -1434,7 +1690,7 @@
],
"source_info" : {
"filename" : "include/control/../header.p4",
- "line" : 161,
+ "line" : 162,
"column" : 36,
"source_fragment" : "2w0x0; ..."
}
@@ -1475,7 +1731,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 119,
+ "line" : 120,
"column" : 31,
"source_fragment" : "0x0800; ..."
}
@@ -1504,7 +1760,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
}
],
"source_info" : {
@@ -1531,7 +1787,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_type21"]
+ "value" : ["scalars", "userMetadata._bng_type21"]
},
{
"type" : "hexstr",
@@ -1540,7 +1796,7 @@
],
"source_info" : {
"filename" : "include/control/../header.p4",
- "line" : 163,
+ "line" : 164,
"column" : 39,
"source_fragment" : "2w0x2;; ..."
}
@@ -1550,7 +1806,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id23"]
+ "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
},
{
"type" : "runtime_data",
@@ -1573,7 +1829,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
}
],
"source_info" : {
@@ -1595,7 +1851,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_type21"]
+ "value" : ["scalars", "userMetadata._bng_type21"]
},
{
"type" : "hexstr",
@@ -1604,7 +1860,7 @@
],
"source_info" : {
"filename" : "include/control/../header.p4",
- "line" : 163,
+ "line" : 164,
"column" : 39,
"source_fragment" : "2w0x2;; ..."
}
@@ -1618,7 +1874,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
}
],
"source_info" : {
@@ -1672,7 +1928,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
},
{
"type" : "runtime_data",
@@ -1698,7 +1954,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
+ "value" : ["scalars", "userMetadata._skip_forwarding10"]
},
{
"type" : "expression",
@@ -1727,7 +1983,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next11"]
+ "value" : ["scalars", "userMetadata._skip_next11"]
},
{
"type" : "expression",
@@ -1774,7 +2030,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
},
{
"type" : "runtime_data",
@@ -1805,7 +2061,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
+ "value" : ["scalars", "userMetadata._fwd_type12"]
},
{
"type" : "runtime_data",
@@ -1836,7 +2092,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id13"]
+ "value" : ["scalars", "userMetadata._next_id13"]
},
{
"type" : "runtime_data",
@@ -1867,7 +2123,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
+ "value" : ["scalars", "userMetadata._mpls_label8"]
},
{
"type" : "hexstr",
@@ -1886,7 +2142,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id13"]
+ "value" : ["scalars", "userMetadata._next_id13"]
},
{
"type" : "runtime_data",
@@ -1917,7 +2173,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id13"]
+ "value" : ["scalars", "userMetadata._next_id13"]
},
{
"type" : "runtime_data",
@@ -1954,7 +2210,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._next_id13"]
+ "value" : ["scalars", "userMetadata._next_id13"]
},
{
"type" : "runtime_data",
@@ -1999,7 +2255,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next11"]
+ "value" : ["scalars", "userMetadata._skip_next11"]
},
{
"type" : "expression",
@@ -2081,7 +2337,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next11"]
+ "value" : ["scalars", "userMetadata._skip_next11"]
},
{
"type" : "expression",
@@ -2128,7 +2384,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
},
{
"type" : "runtime_data",
@@ -2163,7 +2419,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
},
{
"type" : "runtime_data",
@@ -2182,7 +2438,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
+ "value" : ["scalars", "userMetadata._push_double_vlan4"]
},
{
"type" : "expression",
@@ -2211,7 +2467,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
+ "value" : ["scalars", "userMetadata._inner_vlan_id5"]
},
{
"type" : "runtime_data",
@@ -2230,7 +2486,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_s_tag25"]
+ "value" : ["scalars", "userMetadata._bng_s_tag25"]
},
{
"type" : "runtime_data",
@@ -2249,7 +2505,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_c_tag26"]
+ "value" : ["scalars", "userMetadata._bng_c_tag26"]
},
{
"type" : "runtime_data",
@@ -2400,7 +2656,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
+ "value" : ["scalars", "userMetadata._mpls_label8"]
},
{
"type" : "runtime_data",
@@ -2507,7 +2763,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
+ "value" : ["scalars", "userMetadata._is_multicast14"]
},
{
"type" : "expression",
@@ -2534,7 +2790,7 @@
]
},
{
- "name" : "act",
+ "name" : "packetio25",
"id" : 35,
"runtime_data" : [],
"primitives" : [
@@ -2577,7 +2833,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
+ "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
},
{
"type" : "expression",
@@ -2614,7 +2870,7 @@
]
},
{
- "name" : "act_0",
+ "name" : "filtering111",
"id" : 36,
"runtime_data" : [],
"primitives" : [
@@ -2623,7 +2879,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
},
{
"type" : "field",
@@ -2642,7 +2898,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
+ "value" : ["scalars", "userMetadata._vlan_pri2"]
},
{
"type" : "field",
@@ -2661,7 +2917,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
+ "value" : ["scalars", "userMetadata._vlan_cfi3"]
},
{
"type" : "field",
@@ -2678,7 +2934,7 @@
]
},
{
- "name" : "act_1",
+ "name" : "filtering117",
"id" : 37,
"runtime_data" : [],
"primitives" : [
@@ -2687,7 +2943,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
+ "value" : ["scalars", "userMetadata._inner_vlan_id5"]
},
{
"type" : "field",
@@ -2706,7 +2962,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
+ "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
},
{
"type" : "field",
@@ -2725,7 +2981,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
+ "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
},
{
"type" : "field",
@@ -2742,7 +2998,7 @@
]
},
{
- "name" : "act_2",
+ "name" : "filtering127",
"id" : 38,
"runtime_data" : [],
"primitives" : [
@@ -2751,7 +3007,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
+ "value" : ["scalars", "userMetadata._mpls_ttl9"]
},
{
"type" : "hexstr",
@@ -2768,7 +3024,7 @@
]
},
{
- "name" : "act_3",
+ "name" : "port_counter31",
"id" : 39,
"runtime_data" : [],
"primitives" : [
@@ -2826,7 +3082,7 @@
]
},
{
- "name" : "act_4",
+ "name" : "port_counter34",
"id" : 40,
"runtime_data" : [],
"primitives" : [
@@ -2835,7 +3091,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_4"]
},
{
"type" : "expression",
@@ -2871,7 +3127,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_4"]
}
],
"source_info" : {
@@ -2884,7 +3140,7 @@
]
},
{
- "name" : "act_5",
+ "name" : "bng126",
"id" : 41,
"runtime_data" : [],
"primitives" : [
@@ -2893,115 +3149,6 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "bng_ingress_upstream_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_6",
- "id" : 42,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "bng_ingress_upstream_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_7",
- "id" : 43,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_type21"]
- },
- {
- "type" : "hexstr",
- "value" : "0x01"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../header.p4",
- "line" : 162,
- "column" : 37,
- "source_fragment" : "2w0x1; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_8",
- "id" : 44,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
"value" : ["scalars", "bng_ingress_upstream_hasReturned"]
},
{
@@ -3029,72 +3176,35 @@
]
},
{
- "name" : "act_9",
- "id" : 45,
+ "name" : "bng342",
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
- "op" : "count",
+ "op" : "assign",
"parameters" : [
{
- "type" : "counter_array",
- "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._bng_type21"]
},
{
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "type" : "hexstr",
+ "value" : "0x01"
}
],
"source_info" : {
- "filename" : "include/bng.p4",
- "line" : 131,
- "column" : 20,
- "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
+ "filename" : "include/control/../header.p4",
+ "line" : 163,
+ "column" : 37,
+ "source_fragment" : "2w0x1; ..."
}
- }
- ]
- },
- {
- "name" : "act_10",
- "id" : 46,
- "runtime_data" : [],
- "primitives" : [
+ },
{
"op" : "assign",
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "bng_ingress_downstream_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_11",
- "id" : 47,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "bng_ingress_downstream_tmp"]
+ "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
},
{
"type" : "expression",
@@ -3115,8 +3225,34 @@
]
},
{
- "name" : "act_12",
- "id" : 48,
+ "name" : "bng131",
+ "id" : 43,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "count",
+ "parameters" : [
+ {
+ "type" : "counter_array",
+ "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/bng.p4",
+ "line" : 131,
+ "column" : 20,
+ "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "bng238",
+ "id" : 44,
"runtime_data" : [],
"primitives" : [
{
@@ -3128,11 +3264,11 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result24"]
+ "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
}
],
"source_info" : {
@@ -3145,8 +3281,8 @@
]
},
{
- "name" : "act_13",
- "id" : 49,
+ "name" : "bng241",
+ "id" : 45,
"runtime_data" : [],
"primitives" : [
{
@@ -3158,11 +3294,11 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result24"]
+ "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
}
],
"source_info" : {
@@ -3176,7 +3312,7 @@
},
{
"name" : "FabricEgress.bng_egress.downstream.encap_v4",
- "id" : 50,
+ "id" : 46,
"runtime_data" : [],
"primitives" : [
{
@@ -3193,7 +3329,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 123,
+ "line" : 124,
"column" : 33,
"source_fragment" : "0x8864; ..."
}
@@ -3279,7 +3415,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_pppoe_session_id23"]
+ "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
}
],
"source_info" : {
@@ -3298,7 +3434,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_line_id22"]
+ "value" : ["scalars", "userMetadata._bng_line_id22"]
}
],
"source_info" : {
@@ -3364,7 +3500,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 125,
+ "line" : 126,
"column" : 35,
"source_fragment" : "0x0021; ..."
}
@@ -3373,7 +3509,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 51,
+ "id" : 47,
"runtime_data" : [],
"primitives" : [
{
@@ -3400,7 +3536,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_eth_type0"]
+ "value" : ["scalars", "userMetadata._ip_eth_type0"]
}
],
"source_info" : {
@@ -3414,7 +3550,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 52,
+ "id" : 48,
"runtime_data" : [],
"primitives" : [
{
@@ -3441,7 +3577,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
+ "value" : ["scalars", "userMetadata._mpls_label8"]
}
],
"source_info" : {
@@ -3498,7 +3634,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_ttl9"]
+ "value" : ["scalars", "userMetadata._mpls_ttl9"]
}
],
"source_info" : {
@@ -3522,7 +3658,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 117,
+ "line" : 118,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -3531,7 +3667,7 @@
},
{
"name" : "FabricEgress.egress_next.push_outer_vlan",
- "id" : 53,
+ "id" : 49,
"runtime_data" : [],
"primitives" : [
{
@@ -3558,7 +3694,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
+ "value" : ["scalars", "userMetadata._vlan_cfi3"]
}
],
"source_info" : {
@@ -3577,7 +3713,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
+ "value" : ["scalars", "userMetadata._vlan_pri2"]
}
],
"source_info" : {
@@ -3601,7 +3737,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 116,
+ "line" : 117,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -3615,7 +3751,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
}
],
"source_info" : {
@@ -3629,7 +3765,7 @@
},
{
"name" : "FabricEgress.egress_next.push_inner_vlan",
- "id" : 54,
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -3656,7 +3792,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_cfi7"]
+ "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
}
],
"source_info" : {
@@ -3675,7 +3811,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_pri6"]
+ "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
}
],
"source_info" : {
@@ -3694,7 +3830,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._inner_vlan_id5"]
+ "value" : ["scalars", "userMetadata._inner_vlan_id5"]
}
],
"source_info" : {
@@ -3718,7 +3854,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 116,
+ "line" : 117,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -3737,7 +3873,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 116,
+ "line" : 117,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -3746,7 +3882,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 55,
+ "id" : 51,
"runtime_data" : [],
"primitives" : [
{
@@ -3773,7 +3909,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
+ "value" : ["scalars", "userMetadata._vlan_cfi3"]
}
],
"source_info" : {
@@ -3792,7 +3928,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
+ "value" : ["scalars", "userMetadata._vlan_pri2"]
}
],
"source_info" : {
@@ -3816,7 +3952,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 116,
+ "line" : 117,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -3830,7 +3966,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ "value" : ["scalars", "userMetadata._vlan_id1"]
}
],
"source_info" : {
@@ -3844,7 +3980,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 56,
+ "id" : 52,
"runtime_data" : [],
"primitives" : [
{
@@ -3866,7 +4002,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 57,
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -3887,8 +4023,8 @@
]
},
{
- "name" : "act_14",
- "id" : 58,
+ "name" : "packetio41",
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -3904,8 +4040,8 @@
]
},
{
- "name" : "act_15",
- "id" : 59,
+ "name" : "packetio44",
+ "id" : 55,
"runtime_data" : [],
"primitives" : [
{
@@ -3955,8 +4091,8 @@
]
},
{
- "name" : "act_16",
- "id" : 60,
+ "name" : "next349",
+ "id" : 56,
"runtime_data" : [],
"primitives" : [
{
@@ -3977,8 +4113,8 @@
]
},
{
- "name" : "act_17",
- "id" : 61,
+ "name" : "next365",
+ "id" : 57,
"runtime_data" : [],
"primitives" : [
{
@@ -3999,8 +4135,8 @@
]
},
{
- "name" : "act_18",
- "id" : 62,
+ "name" : "next376",
+ "id" : 58,
"runtime_data" : [],
"primitives" : [
{
@@ -4021,8 +4157,8 @@
]
},
{
- "name" : "act_19",
- "id" : 63,
+ "name" : "next375",
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -4070,8 +4206,8 @@
]
},
{
- "name" : "act_20",
- "id" : 64,
+ "name" : "next380",
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -4092,8 +4228,8 @@
]
},
{
- "name" : "act_21",
- "id" : 65,
+ "name" : "next379",
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -4154,7 +4290,7 @@
"init_table" : "node_2",
"tables" : [
{
- "name" : "tbl_act",
+ "name" : "tbl_packetio25",
"id" : 0,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -4170,10 +4306,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [35],
- "actions" : ["act"],
+ "actions" : ["packetio25"],
"base_default_next" : "node_4",
"next_tables" : {
- "act" : "node_4"
+ "packetio25" : "node_4"
},
"default_entry" : {
"action_id" : 35,
@@ -4183,7 +4319,7 @@
}
},
{
- "name" : "tbl_act_0",
+ "name" : "tbl_filtering111",
"id" : 1,
"source_info" : {
"filename" : "include/control/filtering.p4",
@@ -4199,10 +4335,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [36],
- "actions" : ["act_0"],
+ "actions" : ["filtering111"],
"base_default_next" : "node_6",
"next_tables" : {
- "act_0" : "node_6"
+ "filtering111" : "node_6"
},
"default_entry" : {
"action_id" : 36,
@@ -4212,7 +4348,7 @@
}
},
{
- "name" : "tbl_act_1",
+ "name" : "tbl_filtering117",
"id" : 2,
"source_info" : {
"filename" : "include/control/filtering.p4",
@@ -4228,10 +4364,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [37],
- "actions" : ["act_1"],
+ "actions" : ["filtering117"],
"base_default_next" : "node_8",
"next_tables" : {
- "act_1" : "node_8"
+ "filtering117" : "node_8"
},
"default_entry" : {
"action_id" : 37,
@@ -4241,7 +4377,7 @@
}
},
{
- "name" : "tbl_act_2",
+ "name" : "tbl_filtering127",
"id" : 3,
"source_info" : {
"filename" : "include/control/filtering.p4",
@@ -4257,10 +4393,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [38],
- "actions" : ["act_2"],
+ "actions" : ["filtering127"],
"base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
"next_tables" : {
- "act_2" : "FabricIngress.filtering.ingress_port_vlan"
+ "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
},
"default_entry" : {
"action_id" : 38,
@@ -4356,7 +4492,7 @@
{
"match_type" : "exact",
"name" : "ip_eth_type",
- "target" : ["scalars", "fabric_metadata_t._ip_eth_type0"],
+ "target" : ["scalars", "userMetadata._ip_eth_type0"],
"mask" : null
}
],
@@ -4392,7 +4528,7 @@
{
"match_type" : "exact",
"name" : "vlan_id",
- "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
+ "target" : ["scalars", "userMetadata._vlan_id1"],
"mask" : null
},
{
@@ -4435,7 +4571,7 @@
{
"match_type" : "exact",
"name" : "mpls_label",
- "target" : ["scalars", "fabric_metadata_t._mpls_label8"],
+ "target" : ["scalars", "userMetadata._mpls_label8"],
"mask" : null
}
],
@@ -4472,7 +4608,7 @@
{
"match_type" : "lpm",
"name" : "ipv4_dst",
- "target" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"],
+ "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
"mask" : null
}
],
@@ -4516,19 +4652,19 @@
{
"match_type" : "ternary",
"name" : "ip_proto",
- "target" : ["scalars", "fabric_metadata_t._ip_proto16"],
+ "target" : ["scalars", "userMetadata._ip_proto16"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_sport",
- "target" : ["scalars", "fabric_metadata_t._l4_sport17"],
+ "target" : ["scalars", "userMetadata._l4_sport17"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_dport",
- "target" : ["scalars", "fabric_metadata_t._l4_dport18"],
+ "target" : ["scalars", "userMetadata._l4_dport18"],
"mask" : null
},
{
@@ -4616,7 +4752,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id13"],
+ "target" : ["scalars", "userMetadata._next_id13"],
"mask" : null
}
],
@@ -4650,7 +4786,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id13"],
+ "target" : ["scalars", "userMetadata._next_id13"],
"mask" : null
}
],
@@ -4687,7 +4823,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t._next_id13"],
+ "target" : ["scalars", "userMetadata._next_id13"],
"mask" : null
}
],
@@ -4713,7 +4849,7 @@
}
},
{
- "name" : "tbl_act_3",
+ "name" : "tbl_port_counter31",
"id" : 13,
"source_info" : {
"filename" : "include/control/port_counter.p4",
@@ -4729,10 +4865,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [39],
- "actions" : ["act_3"],
+ "actions" : ["port_counter31"],
"base_default_next" : "node_26",
"next_tables" : {
- "act_3" : "node_26"
+ "port_counter31" : "node_26"
},
"default_entry" : {
"action_id" : 39,
@@ -4742,7 +4878,7 @@
}
},
{
- "name" : "tbl_act_4",
+ "name" : "tbl_port_counter34",
"id" : 14,
"source_info" : {
"filename" : "include/control/port_counter.p4",
@@ -4758,10 +4894,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [40],
- "actions" : ["act_4"],
+ "actions" : ["port_counter34"],
"base_default_next" : "FabricIngress.bng_ingress.t_line_map",
"next_tables" : {
- "act_4" : "FabricIngress.bng_ingress.t_line_map"
+ "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
},
"default_entry" : {
"action_id" : 40,
@@ -4783,13 +4919,13 @@
{
"match_type" : "exact",
"name" : "s_tag",
- "target" : ["scalars", "fabric_metadata_t._bng_s_tag25"],
+ "target" : ["scalars", "userMetadata._bng_s_tag25"],
"mask" : null
},
{
"match_type" : "exact",
"name" : "c_tag",
- "target" : ["scalars", "fabric_metadata_t._bng_c_tag26"],
+ "target" : ["scalars", "userMetadata._bng_c_tag26"],
"mask" : null
}
],
@@ -4813,7 +4949,7 @@
}
},
{
- "name" : "tbl_act_5",
+ "name" : "tbl_bng342",
"id" : 16,
"source_info" : {
"filename" : "include/bng.p4",
@@ -4828,14 +4964,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [43],
- "actions" : ["act_7"],
+ "action_ids" : [42],
+ "actions" : ["bng342"],
"base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
"next_tables" : {
- "act_7" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
+ "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
},
"default_entry" : {
- "action_id" : 43,
+ "action_id" : 42,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4874,8 +5010,8 @@
"actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_6",
- "__MISS__" : "tbl_act_7"
+ "__HIT__" : "tbl_bng126",
+ "__MISS__" : "node_33"
},
"default_entry" : {
"action_id" : 0,
@@ -4885,54 +5021,8 @@
}
},
{
- "name" : "tbl_act_6",
+ "name" : "tbl_bng126",
"id" : 18,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [41],
- "actions" : ["act_5"],
- "base_default_next" : "node_34",
- "next_tables" : {
- "act_5" : "node_34"
- },
- "default_entry" : {
- "action_id" : 41,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_7",
- "id" : 19,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [42],
- "actions" : ["act_6"],
- "base_default_next" : "node_34",
- "next_tables" : {
- "act_6" : "node_34"
- },
- "default_entry" : {
- "action_id" : 42,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_8",
- "id" : 20,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 126,
@@ -4946,14 +5036,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [44],
- "actions" : ["act_8"],
- "base_default_next" : "node_36",
+ "action_ids" : [41],
+ "actions" : ["bng126"],
+ "base_default_next" : "node_33",
"next_tables" : {
- "act_8" : "node_36"
+ "bng126" : "node_33"
},
"default_entry" : {
- "action_id" : 44,
+ "action_id" : 41,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4961,7 +5051,7 @@
},
{
"name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
- "id" : 21,
+ "id" : 19,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 87,
@@ -4972,7 +5062,7 @@
{
"match_type" : "exact",
"name" : "line_id",
- "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
+ "target" : ["scalars", "userMetadata._bng_line_id22"],
"mask" : null
},
{
@@ -4998,7 +5088,7 @@
"actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
"base_default_next" : null,
"next_tables" : {
- "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_act_9",
+ "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
"FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
},
"default_entry" : {
@@ -5009,8 +5099,8 @@
}
},
{
- "name" : "tbl_act_9",
- "id" : 22,
+ "name" : "tbl_bng131",
+ "id" : 20,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 131,
@@ -5024,14 +5114,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [45],
- "actions" : ["act_9"],
+ "action_ids" : [43],
+ "actions" : ["bng131"],
"base_default_next" : null,
"next_tables" : {
- "act_9" : null
+ "bng131" : null
},
"default_entry" : {
- "action_id" : 45,
+ "action_id" : 43,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5039,7 +5129,7 @@
},
{
"name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
- "id" : 23,
+ "id" : 21,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 169,
@@ -5050,7 +5140,7 @@
{
"match_type" : "exact",
"name" : "line_id",
- "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
+ "target" : ["scalars", "userMetadata._bng_line_id22"],
"mask" : null
}
],
@@ -5064,8 +5154,8 @@
"actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_10",
- "__MISS__" : "tbl_act_11"
+ "__MISS__" : null,
+ "__HIT__" : "node_38"
},
"default_entry" : {
"action_id" : 1,
@@ -5075,54 +5165,8 @@
}
},
{
- "name" : "tbl_act_10",
- "id" : 24,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [46],
- "actions" : ["act_10"],
- "base_default_next" : "node_43",
- "next_tables" : {
- "act_10" : "node_43"
- },
- "default_entry" : {
- "action_id" : 46,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_11",
- "id" : 25,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [47],
- "actions" : ["act_11"],
- "base_default_next" : "node_43",
- "next_tables" : {
- "act_11" : "node_43"
- },
- "default_entry" : {
- "action_id" : 47,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
- "id" : 26,
+ "id" : 22,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 194,
@@ -5133,7 +5177,7 @@
{
"match_type" : "ternary",
"name" : "line_id",
- "target" : ["scalars", "fabric_metadata_t._bng_line_id22"],
+ "target" : ["scalars", "userMetadata._bng_line_id22"],
"mask" : null
},
{
@@ -5165,8 +5209,8 @@
"actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
"base_default_next" : null,
"next_tables" : {
- "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_act_12",
- "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_act_13"
+ "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
+ "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
},
"default_entry" : {
"action_id" : 14,
@@ -5176,8 +5220,8 @@
}
},
{
- "name" : "tbl_act_12",
- "id" : 27,
+ "name" : "tbl_bng238",
+ "id" : 23,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 238,
@@ -5191,22 +5235,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [48],
- "actions" : ["act_12"],
+ "action_ids" : [44],
+ "actions" : ["bng238"],
"base_default_next" : null,
"next_tables" : {
- "act_12" : null
+ "bng238" : null
},
"default_entry" : {
- "action_id" : 48,
+ "action_id" : 44,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_13",
- "id" : 28,
+ "name" : "tbl_bng241",
+ "id" : 24,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 241,
@@ -5220,14 +5264,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [49],
- "actions" : ["act_13"],
+ "action_ids" : [45],
+ "actions" : ["bng241"],
"base_default_next" : null,
"next_tables" : {
- "act_13" : null
+ "bng241" : null
},
"default_entry" : {
- "action_id" : 49,
+ "action_id" : 45,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5250,23 +5294,23 @@
"input" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"]
+ "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"]
+ "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._ip_proto16"]
+ "value" : ["scalars", "userMetadata._ip_proto16"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_sport17"]
+ "value" : ["scalars", "userMetadata._l4_sport17"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._l4_dport18"]
+ "value" : ["scalars", "userMetadata._l4_dport18"]
}
]
}
@@ -5293,7 +5337,7 @@
}
}
},
- "true_next" : "tbl_act",
+ "true_next" : "tbl_packetio25",
"false_next" : "node_4"
},
{
@@ -5316,7 +5360,7 @@
}
}
},
- "true_next" : "tbl_act_0",
+ "true_next" : "tbl_filtering111",
"false_next" : "node_6"
},
{
@@ -5339,7 +5383,7 @@
}
}
},
- "true_next" : "tbl_act_1",
+ "true_next" : "tbl_filtering117",
"false_next" : "node_8"
},
{
@@ -5369,7 +5413,7 @@
}
}
},
- "true_next" : "tbl_act_2",
+ "true_next" : "tbl_filtering127",
"false_next" : "FabricIngress.filtering.ingress_port_vlan"
},
{
@@ -5379,26 +5423,23 @@
"filename" : "fabric.p4",
"line" : 69,
"column" : 12,
- "source_fragment" : "fabric_metadata.skip_forwarding == false"
+ "source_fragment" : "fabric_metadata.skip_forwarding"
},
"expression" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
+ "op" : "not",
+ "left" : null,
+ "right" : {
"type" : "expression",
"value" : {
"op" : "d2b",
"left" : null,
"right" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_forwarding10"]
+ "value" : ["scalars", "userMetadata._skip_forwarding10"]
}
}
- },
- "right" : {
- "type" : "bool",
- "value" : false
}
}
},
@@ -5420,7 +5461,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
+ "value" : ["scalars", "userMetadata._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -5446,7 +5487,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
+ "value" : ["scalars", "userMetadata._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -5472,7 +5513,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
+ "value" : ["scalars", "userMetadata._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -5490,26 +5531,23 @@
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
- "source_fragment" : "fabric_metadata.skip_next == false"
+ "source_fragment" : "fabric_metadata.skip_next"
},
"expression" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
+ "op" : "not",
+ "left" : null,
+ "right" : {
"type" : "expression",
"value" : {
"op" : "d2b",
"left" : null,
"right" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._skip_next11"]
+ "value" : ["scalars", "userMetadata._skip_next11"]
}
}
- },
- "right" : {
- "type" : "bool",
- "value" : false
}
}
},
@@ -5539,7 +5577,7 @@
}
}
},
- "true_next" : "tbl_act_3",
+ "true_next" : "tbl_port_counter31",
"false_next" : "node_26"
},
{
@@ -5565,7 +5603,7 @@
}
}
},
- "true_next" : "tbl_act_4",
+ "true_next" : "tbl_port_counter34",
"false_next" : "FabricIngress.bng_ingress.t_line_map"
},
{
@@ -5588,32 +5626,15 @@
}
}
},
- "true_next" : "tbl_act_5",
+ "true_next" : "tbl_bng342",
"false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
},
{
- "name" : "node_34",
+ "name" : "node_33",
"id" : 12,
"expression" : {
"type" : "expression",
"value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "bng_ingress_upstream_tmp"]
- }
- }
- },
- "true_next" : "tbl_act_8",
- "false_next" : "node_36"
- },
- {
- "name" : "node_36",
- "id" : 13,
- "expression" : {
- "type" : "expression",
- "value" : {
"op" : "not",
"left" : null,
"right" : {
@@ -5630,11 +5651,11 @@
}
},
"false_next" : null,
- "true_next" : "node_37"
+ "true_next" : "node_34"
},
{
- "name" : "node_37",
- "id" : 14,
+ "name" : "node_34",
+ "id" : 13,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 128,
@@ -5656,25 +5677,8 @@
"true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
},
{
- "name" : "node_43",
- "id" : 15,
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "bng_ingress_downstream_tmp"]
- }
- }
- },
- "false_next" : null,
- "true_next" : "node_44"
- },
- {
- "name" : "node_44",
- "id" : 16,
+ "name" : "node_38",
+ "id" : 14,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 235,
@@ -5706,11 +5710,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_50",
+ "init_table" : "node_44",
"tables" : [
{
- "name" : "tbl_act_14",
- "id" : 29,
+ "name" : "tbl_packetio41",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -5724,22 +5728,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [58],
- "actions" : ["act_14"],
- "base_default_next" : "node_52",
+ "action_ids" : [54],
+ "actions" : ["packetio41"],
+ "base_default_next" : "node_46",
"next_tables" : {
- "act_14" : "node_52"
+ "packetio41" : "node_46"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 54,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_15",
- "id" : 30,
+ "name" : "tbl_packetio44",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -5753,22 +5757,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [59],
- "actions" : ["act_15"],
- "base_default_next" : "node_54",
+ "action_ids" : [55],
+ "actions" : ["packetio44"],
+ "base_default_next" : "node_48",
"next_tables" : {
- "act_15" : "node_54"
+ "packetio44" : "node_48"
},
"default_entry" : {
- "action_id" : 59,
+ "action_id" : 55,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_16",
- "id" : 31,
+ "name" : "tbl_next349",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -5782,14 +5786,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [60],
- "actions" : ["act_16"],
- "base_default_next" : "node_56",
+ "action_ids" : [56],
+ "actions" : ["next349"],
+ "base_default_next" : "node_50",
"next_tables" : {
- "act_16" : "node_56"
+ "next349" : "node_50"
},
"default_entry" : {
- "action_id" : 60,
+ "action_id" : 56,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5797,7 +5801,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 32,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -5811,14 +5815,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [51],
+ "action_ids" : [47],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
- "base_default_next" : "node_60",
+ "base_default_next" : "node_54",
"next_tables" : {
- "FabricEgress.egress_next.pop_mpls_if_present" : "node_60"
+ "FabricEgress.egress_next.pop_mpls_if_present" : "node_54"
},
"default_entry" : {
- "action_id" : 51,
+ "action_id" : 47,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5826,7 +5830,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 33,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -5840,14 +5844,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [52],
+ "action_ids" : [48],
"actions" : ["FabricEgress.egress_next.set_mpls"],
- "base_default_next" : "node_60",
+ "base_default_next" : "node_54",
"next_tables" : {
- "FabricEgress.egress_next.set_mpls" : "node_60"
+ "FabricEgress.egress_next.set_mpls" : "node_54"
},
"default_entry" : {
- "action_id" : 52,
+ "action_id" : 48,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5855,7 +5859,7 @@
},
{
"name" : "tbl_egress_next_push_outer_vlan",
- "id" : 34,
+ "id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 361,
@@ -5869,14 +5873,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [53],
+ "action_ids" : [49],
"actions" : ["FabricEgress.egress_next.push_outer_vlan"],
"base_default_next" : "tbl_egress_next_push_inner_vlan",
"next_tables" : {
"FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 49,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5884,7 +5888,7 @@
},
{
"name" : "tbl_egress_next_push_inner_vlan",
- "id" : 35,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 362,
@@ -5898,22 +5902,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
+ "action_ids" : [50],
"actions" : ["FabricEgress.egress_next.push_inner_vlan"],
- "base_default_next" : "node_65",
+ "base_default_next" : "node_59",
"next_tables" : {
- "FabricEgress.egress_next.push_inner_vlan" : "node_65"
+ "FabricEgress.egress_next.push_inner_vlan" : "node_59"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 50,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_17",
- "id" : 36,
+ "name" : "tbl_next365",
+ "id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 365,
@@ -5927,14 +5931,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61],
- "actions" : ["act_17"],
+ "action_ids" : [57],
+ "actions" : ["next365"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
- "act_17" : "FabricEgress.egress_next.egress_vlan"
+ "next365" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 61,
+ "action_id" : 57,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5942,7 +5946,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 37,
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -5953,7 +5957,7 @@
{
"match_type" : "exact",
"name" : "vlan_id",
- "target" : ["scalars", "fabric_metadata_t._vlan_id1"],
+ "target" : ["scalars", "userMetadata._vlan_id1"],
"mask" : null
},
{
@@ -5969,24 +5973,24 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [55, 56, 57],
+ "action_ids" : [51, 52, 53],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_65",
+ "base_default_next" : "node_59",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_65",
- "FabricEgress.egress_next.pop_vlan" : "node_65",
- "FabricEgress.egress_next.drop" : "node_65"
+ "FabricEgress.egress_next.push_vlan" : "node_59",
+ "FabricEgress.egress_next.pop_vlan" : "node_59",
+ "FabricEgress.egress_next.drop" : "node_59"
},
"default_entry" : {
- "action_id" : 57,
+ "action_id" : 53,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_18",
- "id" : 38,
+ "name" : "tbl_next375",
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -6000,22 +6004,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [63],
- "actions" : ["act_19"],
- "base_default_next" : "node_67",
+ "action_ids" : [59],
+ "actions" : ["next375"],
+ "base_default_next" : "node_61",
"next_tables" : {
- "act_19" : "node_67"
+ "next375" : "node_61"
},
"default_entry" : {
- "action_id" : 63,
+ "action_id" : 59,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_19",
- "id" : 39,
+ "name" : "tbl_next376",
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -6029,22 +6033,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [62],
- "actions" : ["act_18"],
- "base_default_next" : "node_73",
+ "action_ids" : [58],
+ "actions" : ["next376"],
+ "base_default_next" : "node_67",
"next_tables" : {
- "act_18" : "node_73"
+ "next376" : "node_67"
},
"default_entry" : {
- "action_id" : 62,
+ "action_id" : 58,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_20",
- "id" : 40,
+ "name" : "tbl_next379",
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -6058,22 +6062,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [65],
- "actions" : ["act_21"],
- "base_default_next" : "node_71",
+ "action_ids" : [61],
+ "actions" : ["next379"],
+ "base_default_next" : "node_65",
"next_tables" : {
- "act_21" : "node_71"
+ "next379" : "node_65"
},
"default_entry" : {
- "action_id" : 65,
+ "action_id" : 61,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_21",
- "id" : 41,
+ "name" : "tbl_next380",
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -6087,14 +6091,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [64],
- "actions" : ["act_20"],
- "base_default_next" : "node_73",
+ "action_ids" : [60],
+ "actions" : ["next380"],
+ "base_default_next" : "node_67",
"next_tables" : {
- "act_20" : "node_73"
+ "next380" : "node_67"
},
"default_entry" : {
- "action_id" : 64,
+ "action_id" : 60,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6102,7 +6106,7 @@
},
{
"name" : "tbl_bng_egress_downstream_encap_v4",
- "id" : 42,
+ "id" : 38,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 297,
@@ -6116,14 +6120,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [50],
+ "action_ids" : [46],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
"base_default_next" : null,
"next_tables" : {
"FabricEgress.bng_egress.downstream.encap_v4" : null
},
"default_entry" : {
- "action_id" : 50,
+ "action_id" : 46,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6133,41 +6137,31 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_50",
- "id" : 17,
+ "name" : "node_44",
+ "id" : 15,
"source_info" : {
- "filename" : "include/control/packetio.p4",
- "line" : 39,
- "column" : 12,
- "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
+ "filename" : "fabric.p4",
+ "line" : 103,
+ "column" : 33,
+ "source_fragment" : "fabric_metadata"
},
"expression" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out15"]
- }
- }
- },
+ "op" : "d2b",
+ "left" : null,
"right" : {
- "type" : "bool",
- "value" : true
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
}
}
},
- "true_next" : "tbl_act_14",
- "false_next" : "node_52"
+ "true_next" : "tbl_packetio41",
+ "false_next" : "node_46"
},
{
- "name" : "node_52",
- "id" : 18,
+ "name" : "node_46",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -6188,12 +6182,12 @@
}
}
},
- "true_next" : "tbl_act_15",
- "false_next" : "node_54"
+ "true_next" : "tbl_packetio44",
+ "false_next" : "node_48"
},
{
- "name" : "node_54",
- "id" : 19,
+ "name" : "node_48",
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -6207,21 +6201,11 @@
"left" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._is_multicast14"]
- }
- }
- },
+ "op" : "d2b",
+ "left" : null,
"right" : {
- "type" : "bool",
- "value" : true
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._is_multicast14"]
}
}
},
@@ -6241,12 +6225,12 @@
}
}
},
- "true_next" : "tbl_act_16",
- "false_next" : "node_56"
+ "true_next" : "tbl_next349",
+ "false_next" : "node_50"
},
{
- "name" : "node_56",
- "id" : 20,
+ "name" : "node_50",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -6259,7 +6243,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._mpls_label8"]
+ "value" : ["scalars", "userMetadata._mpls_label8"]
},
"right" : {
"type" : "hexstr",
@@ -6267,12 +6251,12 @@
}
}
},
- "true_next" : "node_57",
+ "true_next" : "node_51",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_57",
- "id" : 21,
+ "name" : "node_51",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -6291,44 +6275,34 @@
}
},
"true_next" : "tbl_egress_next_pop_mpls_if_present",
- "false_next" : "node_60"
+ "false_next" : "node_54"
},
{
- "name" : "node_60",
- "id" : 22,
+ "name" : "node_54",
+ "id" : 20,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 12,
- "source_fragment" : "fabric_metadata.push_double_vlan == true"
+ "filename" : "fabric.p4",
+ "line" : 104,
+ "column" : 31,
+ "source_fragment" : "fabric_metadata"
},
"expression" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._push_double_vlan4"]
- }
- }
- },
+ "op" : "d2b",
+ "left" : null,
"right" : {
- "type" : "bool",
- "value" : true
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._push_double_vlan4"]
}
}
},
"true_next" : "tbl_egress_next_push_outer_vlan",
- "false_next" : "tbl_act_17"
+ "false_next" : "tbl_next365"
},
{
- "name" : "node_65",
- "id" : 23,
+ "name" : "node_59",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -6346,12 +6320,12 @@
}
}
},
- "true_next" : "tbl_act_18",
- "false_next" : "node_69"
+ "true_next" : "tbl_next375",
+ "false_next" : "node_63"
},
{
- "name" : "node_67",
- "id" : 24,
+ "name" : "node_61",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -6372,12 +6346,12 @@
}
}
},
- "true_next" : "tbl_act_19",
- "false_next" : "node_73"
+ "true_next" : "tbl_next376",
+ "false_next" : "node_67"
},
{
- "name" : "node_69",
- "id" : 25,
+ "name" : "node_63",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -6405,7 +6379,7 @@
"op" : "!=",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._fwd_type12"]
+ "value" : ["scalars", "userMetadata._fwd_type12"]
},
"right" : {
"type" : "hexstr",
@@ -6415,12 +6389,12 @@
}
}
},
- "true_next" : "tbl_act_20",
- "false_next" : "node_73"
+ "true_next" : "tbl_next379",
+ "false_next" : "node_67"
},
{
- "name" : "node_71",
- "id" : 26,
+ "name" : "node_65",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -6441,12 +6415,12 @@
}
}
},
- "true_next" : "tbl_act_21",
- "false_next" : "node_73"
+ "true_next" : "tbl_next380",
+ "false_next" : "node_67"
},
{
- "name" : "node_73",
- "id" : 27,
+ "name" : "node_67",
+ "id" : 25,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 358,
@@ -6459,7 +6433,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t._bng_type21"]
+ "value" : ["scalars", "userMetadata._bng_type21"]
},
"right" : {
"type" : "hexstr",
@@ -6468,11 +6442,11 @@
}
},
"false_next" : null,
- "true_next" : "node_74"
+ "true_next" : "node_68"
},
{
- "name" : "node_74",
- "id" : 28,
+ "name" : "node_68",
+ "id" : 26,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 296,
@@ -6578,33 +6552,21 @@
["standard_metadata", "egress_global_timestamp"]
],
[
- "intrinsic_metadata.lf_field_list",
- ["standard_metadata", "lf_field_list"]
- ],
- [
"intrinsic_metadata.mcast_grp",
["standard_metadata", "mcast_grp"]
],
[
- "intrinsic_metadata.resubmit_flag",
- ["standard_metadata", "resubmit_flag"]
- ],
- [
"intrinsic_metadata.egress_rid",
["standard_metadata", "egress_rid"]
],
[
- "intrinsic_metadata.recirculate_flag",
- ["standard_metadata", "recirculate_flag"]
- ],
- [
"intrinsic_metadata.priority",
["standard_metadata", "priority"]
]
],
"program" : "fabric.p4",
"__meta__" : {
- "version" : [2, 18],
+ "version" : [2, 23],
"compiler" : "https://github.com/p4lang/p4c"
}
}
\ No newline at end of file