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/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index 3dcb17b..43db30e 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -4,42 +4,49 @@
"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],
- ["fabric_metadata_t.ip_eth_type", 16, false],
- ["fabric_metadata_t.vlan_id", 12, false],
- ["fabric_metadata_t.vlan_pri", 3, false],
- ["fabric_metadata_t.vlan_cfi", 1, false],
- ["fabric_metadata_t.mpls_label", 20, false],
- ["fabric_metadata_t.mpls_ttl", 8, false],
- ["fabric_metadata_t.skip_forwarding", 1, false],
- ["fabric_metadata_t.skip_next", 1, false],
- ["fabric_metadata_t.fwd_type", 3, false],
- ["fabric_metadata_t.next_id", 32, false],
- ["fabric_metadata_t.is_multicast", 1, false],
- ["fabric_metadata_t.is_controller_packet_out", 1, false],
- ["fabric_metadata_t.ip_proto", 8, false],
- ["fabric_metadata_t.l4_sport", 16, false],
- ["fabric_metadata_t.l4_dport", 16, false],
- ["fabric_metadata_t.ipv4_src_addr", 32, false],
- ["fabric_metadata_t.ipv4_dst_addr", 32, false],
- ["_padding_0", 1, false]
+ ["tmp_4", 32, false],
+ ["userMetadata.ip_eth_type", 16, false],
+ ["userMetadata.vlan_id", 12, false],
+ ["userMetadata.vlan_pri", 3, false],
+ ["userMetadata.vlan_cfi", 1, false],
+ ["userMetadata.mpls_label", 20, false],
+ ["userMetadata.mpls_ttl", 8, false],
+ ["userMetadata.skip_forwarding", 1, false],
+ ["userMetadata.skip_next", 1, false],
+ ["userMetadata.fwd_type", 3, false],
+ ["userMetadata.next_id", 32, false],
+ ["userMetadata.is_multicast", 1, false],
+ ["userMetadata.is_controller_packet_out", 1, false],
+ ["userMetadata.ip_proto", 8, false],
+ ["userMetadata.l4_sport", 16, false],
+ ["userMetadata.l4_dport", 16, false],
+ ["userMetadata.ipv4_src_addr", 32, false],
+ ["userMetadata.ipv4_dst_addr", 32, 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],
@@ -47,20 +54,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]
@@ -68,7 +72,7 @@
},
{
"name" : "vlan_tag_t",
- "id" : 3,
+ "id" : 4,
"fields" : [
["eth_type", 16, false],
["pri", 3, false],
@@ -78,14 +82,14 @@
},
{
"name" : "eth_type_t",
- "id" : 4,
+ "id" : 5,
"fields" : [
["value", 16, false]
]
},
{
"name" : "mpls_t",
- "id" : 5,
+ "id" : 6,
"fields" : [
["label", 20, false],
["tc", 3, false],
@@ -95,7 +99,7 @@
},
{
"name" : "ipv4_t",
- "id" : 6,
+ "id" : 7,
"fields" : [
["version", 4, false],
["ihl", 4, false],
@@ -114,7 +118,7 @@
},
{
"name" : "tcp_t",
- "id" : 7,
+ "id" : 8,
"fields" : [
["sport", 16, false],
["dport", 16, false],
@@ -131,7 +135,7 @@
},
{
"name" : "udp_t",
- "id" : 8,
+ "id" : 9,
"fields" : [
["sport", 16, false],
["dport", 16, false],
@@ -141,7 +145,7 @@
},
{
"name" : "icmp_t",
- "id" : 9,
+ "id" : 10,
"fields" : [
["icmp_type", 8, false],
["icmp_code", 8, false],
@@ -152,14 +156,6 @@
]
},
{
- "name" : "packet_out_header_t",
- "id" : 10,
- "fields" : [
- ["egress_port", 9, false],
- ["_pad", 7, false]
- ]
- },
- {
"name" : "packet_in_header_t",
"id" : 11,
"fields" : [
@@ -170,92 +166,99 @@
],
"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" : "mpls",
- "id" : 6,
+ "id" : 7,
"header_type" : "mpls_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "ipv4",
- "id" : 7,
+ "id" : 8,
"header_type" : "ipv4_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "tcp",
- "id" : 8,
+ "id" : 9,
"header_type" : "tcp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "udp",
- "id" : 9,
+ "id" : 10,
"header_type" : "udp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "icmp",
- "id" : 10,
+ "id" : 11,
"header_type" : "icmp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_out",
- "id" : 11,
+ "id" : 12,
"header_type" : "packet_out_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_in",
- "id" : 12,
+ "id" : 13,
"header_type" : "packet_in_header_t",
"metadata" : false,
"pi_omit" : true
@@ -308,10 +311,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"
}
@@ -324,12 +328,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"
}
@@ -339,7 +560,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"
}
@@ -348,7 +594,7 @@
},
{
"name" : "parse_ethernet",
- "id" : 2,
+ "id" : 4,
"parser_ops" : [
{
"parameters" : [
@@ -363,7 +609,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_id"]
+ "value" : ["scalars", "userMetadata.vlan_id"]
},
{
"type" : "hexstr",
@@ -376,7 +622,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -406,7 +652,8 @@
"next_state" : "parse_vlan_tag"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_eth_type"
}
@@ -414,13 +661,13 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
{
"name" : "parse_vlan_tag",
- "id" : 3,
+ "id" : 5,
"parser_ops" : [
{
"parameters" : [
@@ -435,7 +682,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
},
{
"type" : "lookahead",
@@ -453,7 +700,8 @@
"next_state" : "parse_inner_vlan_tag"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_eth_type"
}
@@ -461,13 +709,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" : [
@@ -481,7 +729,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_eth_type"
}
@@ -490,7 +739,7 @@
},
{
"name" : "parse_eth_type",
- "id" : 5,
+ "id" : 7,
"parser_ops" : [
{
"parameters" : [
@@ -516,7 +765,8 @@
"next_state" : "parse_ipv4"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -530,7 +780,7 @@
},
{
"name" : "parse_mpls",
- "id" : 6,
+ "id" : 8,
"parser_ops" : [
{
"parameters" : [
@@ -545,7 +795,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_label"]
+ "value" : ["scalars", "userMetadata.mpls_label"]
},
{
"type" : "field",
@@ -558,7 +808,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_ttl"]
+ "value" : ["scalars", "userMetadata.mpls_ttl"]
},
{
"type" : "field",
@@ -571,7 +821,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_5"]
},
{
"type" : "lookahead",
@@ -589,7 +839,8 @@
"next_state" : "parse_ipv4"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : "parse_ethernet"
}
@@ -597,13 +848,13 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_5"]
}
]
},
{
"name" : "parse_ipv4",
- "id" : 7,
+ "id" : 9,
"parser_ops" : [
{
"parameters" : [
@@ -618,7 +869,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ip_proto"]
+ "value" : ["scalars", "userMetadata.ip_proto"]
},
{
"type" : "field",
@@ -631,7 +882,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ip_eth_type"]
+ "value" : ["scalars", "userMetadata.ip_eth_type"]
},
{
"type" : "hexstr",
@@ -644,7 +895,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ipv4_src_addr"]
+ "value" : ["scalars", "userMetadata.ipv4_src_addr"]
},
{
"type" : "field",
@@ -657,7 +908,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ipv4_dst_addr"]
+ "value" : ["scalars", "userMetadata.ipv4_dst_addr"]
},
{
"type" : "field",
@@ -687,7 +938,8 @@
"next_state" : "parse_icmp"
},
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -701,7 +953,7 @@
},
{
"name" : "parse_tcp",
- "id" : 8,
+ "id" : 10,
"parser_ops" : [
{
"parameters" : [
@@ -716,7 +968,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.l4_sport"]
+ "value" : ["scalars", "userMetadata.l4_sport"]
},
{
"type" : "field",
@@ -729,7 +981,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.l4_dport"]
+ "value" : ["scalars", "userMetadata.l4_dport"]
},
{
"type" : "field",
@@ -741,7 +993,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -750,7 +1003,7 @@
},
{
"name" : "parse_udp",
- "id" : 9,
+ "id" : 11,
"parser_ops" : [
{
"parameters" : [
@@ -765,7 +1018,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.l4_sport"]
+ "value" : ["scalars", "userMetadata.l4_sport"]
},
{
"type" : "field",
@@ -778,7 +1031,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.l4_dport"]
+ "value" : ["scalars", "userMetadata.l4_dport"]
},
{
"type" : "field",
@@ -790,7 +1043,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -804,7 +1058,7 @@
},
{
"name" : "parse_icmp",
- "id" : 10,
+ "id" : 12,
"parser_ops" : [
{
"parameters" : [
@@ -818,7 +1072,8 @@
],
"transitions" : [
{
- "value" : "default",
+ "type" : "default",
+ "value" : null,
"mask" : null,
"next_state" : null
}
@@ -835,11 +1090,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", "mpls", "ipv4", "tcp", "udp", "icmp"]
+ "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp"],
+ "primitives" : []
}
],
"meter_arrays" : [],
@@ -1168,7 +1424,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.skip_forwarding"]
+ "value" : ["scalars", "userMetadata.skip_forwarding"]
},
{
"type" : "expression",
@@ -1197,7 +1453,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.skip_next"]
+ "value" : ["scalars", "userMetadata.skip_next"]
},
{
"type" : "expression",
@@ -1244,7 +1500,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_id"]
+ "value" : ["scalars", "userMetadata.vlan_id"]
},
{
"type" : "runtime_data",
@@ -1275,7 +1531,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.fwd_type"]
+ "value" : ["scalars", "userMetadata.fwd_type"]
},
{
"type" : "runtime_data",
@@ -1306,7 +1562,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.next_id"]
+ "value" : ["scalars", "userMetadata.next_id"]
},
{
"type" : "runtime_data",
@@ -1337,7 +1593,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_label"]
+ "value" : ["scalars", "userMetadata.mpls_label"]
},
{
"type" : "hexstr",
@@ -1356,7 +1612,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.next_id"]
+ "value" : ["scalars", "userMetadata.next_id"]
},
{
"type" : "runtime_data",
@@ -1387,7 +1643,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.next_id"]
+ "value" : ["scalars", "userMetadata.next_id"]
},
{
"type" : "runtime_data",
@@ -1424,7 +1680,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.next_id"]
+ "value" : ["scalars", "userMetadata.next_id"]
},
{
"type" : "runtime_data",
@@ -1469,7 +1725,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.skip_next"]
+ "value" : ["scalars", "userMetadata.skip_next"]
},
{
"type" : "expression",
@@ -1551,7 +1807,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.skip_next"]
+ "value" : ["scalars", "userMetadata.skip_next"]
},
{
"type" : "expression",
@@ -1598,7 +1854,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_id"]
+ "value" : ["scalars", "userMetadata.vlan_id"]
},
{
"type" : "runtime_data",
@@ -1660,7 +1916,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.next_id"]
+ "value" : ["scalars", "userMetadata.next_id"]
},
{
"type" : "runtime_data",
@@ -1811,7 +2067,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_label"]
+ "value" : ["scalars", "userMetadata.mpls_label"]
},
{
"type" : "runtime_data",
@@ -1918,7 +2174,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.is_multicast"]
+ "value" : ["scalars", "userMetadata.is_multicast"]
},
{
"type" : "expression",
@@ -1945,7 +2201,7 @@
]
},
{
- "name" : "act",
+ "name" : "packetio25",
"id" : 27,
"runtime_data" : [],
"primitives" : [
@@ -1988,7 +2244,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
+ "value" : ["scalars", "userMetadata.is_controller_packet_out"]
},
{
"type" : "expression",
@@ -2025,7 +2281,7 @@
]
},
{
- "name" : "act_0",
+ "name" : "filtering111",
"id" : 28,
"runtime_data" : [],
"primitives" : [
@@ -2034,7 +2290,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_id"]
+ "value" : ["scalars", "userMetadata.vlan_id"]
},
{
"type" : "field",
@@ -2053,7 +2309,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_pri"]
+ "value" : ["scalars", "userMetadata.vlan_pri"]
},
{
"type" : "field",
@@ -2072,7 +2328,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_cfi"]
+ "value" : ["scalars", "userMetadata.vlan_cfi"]
},
{
"type" : "field",
@@ -2089,7 +2345,7 @@
]
},
{
- "name" : "act_1",
+ "name" : "filtering127",
"id" : 29,
"runtime_data" : [],
"primitives" : [
@@ -2098,7 +2354,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_ttl"]
+ "value" : ["scalars", "userMetadata.mpls_ttl"]
},
{
"type" : "hexstr",
@@ -2115,7 +2371,7 @@
]
},
{
- "name" : "act_2",
+ "name" : "port_counter31",
"id" : 30,
"runtime_data" : [],
"primitives" : [
@@ -2173,7 +2429,7 @@
]
},
{
- "name" : "act_3",
+ "name" : "port_counter34",
"id" : 31,
"runtime_data" : [],
"primitives" : [
@@ -2182,7 +2438,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_4"]
},
{
"type" : "expression",
@@ -2218,7 +2474,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_4"]
}
],
"source_info" : {
@@ -2259,7 +2515,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ip_eth_type"]
+ "value" : ["scalars", "userMetadata.ip_eth_type"]
}
],
"source_info" : {
@@ -2300,7 +2556,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_label"]
+ "value" : ["scalars", "userMetadata.mpls_label"]
}
],
"source_info" : {
@@ -2357,7 +2613,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_ttl"]
+ "value" : ["scalars", "userMetadata.mpls_ttl"]
}
],
"source_info" : {
@@ -2381,7 +2637,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 117,
+ "line" : 118,
"column" : 31,
"source_fragment" : "0x8847; ..."
}
@@ -2417,7 +2673,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_cfi"]
+ "value" : ["scalars", "userMetadata.vlan_cfi"]
}
],
"source_info" : {
@@ -2436,7 +2692,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_pri"]
+ "value" : ["scalars", "userMetadata.vlan_pri"]
}
],
"source_info" : {
@@ -2460,7 +2716,7 @@
],
"source_info" : {
"filename" : "include/control/../define.p4",
- "line" : 116,
+ "line" : 117,
"column" : 31,
"source_fragment" : "0x8100; ..."
}
@@ -2474,7 +2730,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_id"]
+ "value" : ["scalars", "userMetadata.vlan_id"]
}
],
"source_info" : {
@@ -2531,7 +2787,7 @@
]
},
{
- "name" : "act_4",
+ "name" : "packetio41",
"id" : 37,
"runtime_data" : [],
"primitives" : [
@@ -2548,7 +2804,7 @@
]
},
{
- "name" : "act_5",
+ "name" : "packetio44",
"id" : 38,
"runtime_data" : [],
"primitives" : [
@@ -2599,7 +2855,7 @@
]
},
{
- "name" : "act_6",
+ "name" : "next349",
"id" : 39,
"runtime_data" : [],
"primitives" : [
@@ -2621,7 +2877,7 @@
]
},
{
- "name" : "act_7",
+ "name" : "next376",
"id" : 40,
"runtime_data" : [],
"primitives" : [
@@ -2643,7 +2899,7 @@
]
},
{
- "name" : "act_8",
+ "name" : "next375",
"id" : 41,
"runtime_data" : [],
"primitives" : [
@@ -2692,7 +2948,7 @@
]
},
{
- "name" : "act_9",
+ "name" : "next380",
"id" : 42,
"runtime_data" : [],
"primitives" : [
@@ -2714,7 +2970,7 @@
]
},
{
- "name" : "act_10",
+ "name" : "next379",
"id" : 43,
"runtime_data" : [],
"primitives" : [
@@ -2776,7 +3032,7 @@
"init_table" : "node_2",
"tables" : [
{
- "name" : "tbl_act",
+ "name" : "tbl_packetio25",
"id" : 0,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -2792,10 +3048,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [27],
- "actions" : ["act"],
+ "actions" : ["packetio25"],
"base_default_next" : "node_4",
"next_tables" : {
- "act" : "node_4"
+ "packetio25" : "node_4"
},
"default_entry" : {
"action_id" : 27,
@@ -2805,7 +3061,7 @@
}
},
{
- "name" : "tbl_act_0",
+ "name" : "tbl_filtering111",
"id" : 1,
"source_info" : {
"filename" : "include/control/filtering.p4",
@@ -2821,10 +3077,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [28],
- "actions" : ["act_0"],
+ "actions" : ["filtering111"],
"base_default_next" : "node_6",
"next_tables" : {
- "act_0" : "node_6"
+ "filtering111" : "node_6"
},
"default_entry" : {
"action_id" : 28,
@@ -2834,7 +3090,7 @@
}
},
{
- "name" : "tbl_act_1",
+ "name" : "tbl_filtering127",
"id" : 2,
"source_info" : {
"filename" : "include/control/filtering.p4",
@@ -2850,10 +3106,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [29],
- "actions" : ["act_1"],
+ "actions" : ["filtering127"],
"base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
"next_tables" : {
- "act_1" : "FabricIngress.filtering.ingress_port_vlan"
+ "filtering127" : "FabricIngress.filtering.ingress_port_vlan"
},
"default_entry" : {
"action_id" : 29,
@@ -2943,7 +3199,7 @@
{
"match_type" : "exact",
"name" : "ip_eth_type",
- "target" : ["scalars", "fabric_metadata_t.ip_eth_type"],
+ "target" : ["scalars", "userMetadata.ip_eth_type"],
"mask" : null
}
],
@@ -2979,7 +3235,7 @@
{
"match_type" : "exact",
"name" : "vlan_id",
- "target" : ["scalars", "fabric_metadata_t.vlan_id"],
+ "target" : ["scalars", "userMetadata.vlan_id"],
"mask" : null
},
{
@@ -3022,7 +3278,7 @@
{
"match_type" : "exact",
"name" : "mpls_label",
- "target" : ["scalars", "fabric_metadata_t.mpls_label"],
+ "target" : ["scalars", "userMetadata.mpls_label"],
"mask" : null
}
],
@@ -3059,7 +3315,7 @@
{
"match_type" : "lpm",
"name" : "ipv4_dst",
- "target" : ["scalars", "fabric_metadata_t.ipv4_dst_addr"],
+ "target" : ["scalars", "userMetadata.ipv4_dst_addr"],
"mask" : null
}
],
@@ -3103,19 +3359,19 @@
{
"match_type" : "ternary",
"name" : "ip_proto",
- "target" : ["scalars", "fabric_metadata_t.ip_proto"],
+ "target" : ["scalars", "userMetadata.ip_proto"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_sport",
- "target" : ["scalars", "fabric_metadata_t.l4_sport"],
+ "target" : ["scalars", "userMetadata.l4_sport"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "l4_dport",
- "target" : ["scalars", "fabric_metadata_t.l4_dport"],
+ "target" : ["scalars", "userMetadata.l4_dport"],
"mask" : null
},
{
@@ -3209,7 +3465,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t.next_id"],
+ "target" : ["scalars", "userMetadata.next_id"],
"mask" : null
}
],
@@ -3247,7 +3503,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t.next_id"],
+ "target" : ["scalars", "userMetadata.next_id"],
"mask" : null
}
],
@@ -3281,7 +3537,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t.next_id"],
+ "target" : ["scalars", "userMetadata.next_id"],
"mask" : null
}
],
@@ -3318,7 +3574,7 @@
{
"match_type" : "exact",
"name" : "next_id",
- "target" : ["scalars", "fabric_metadata_t.next_id"],
+ "target" : ["scalars", "userMetadata.next_id"],
"mask" : null
}
],
@@ -3343,7 +3599,7 @@
}
},
{
- "name" : "tbl_act_2",
+ "name" : "tbl_port_counter31",
"id" : 13,
"source_info" : {
"filename" : "include/control/port_counter.p4",
@@ -3359,10 +3615,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [30],
- "actions" : ["act_2"],
+ "actions" : ["port_counter31"],
"base_default_next" : "node_25",
"next_tables" : {
- "act_2" : "node_25"
+ "port_counter31" : "node_25"
},
"default_entry" : {
"action_id" : 30,
@@ -3372,7 +3628,7 @@
}
},
{
- "name" : "tbl_act_3",
+ "name" : "tbl_port_counter34",
"id" : 14,
"source_info" : {
"filename" : "include/control/port_counter.p4",
@@ -3388,10 +3644,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [31],
- "actions" : ["act_3"],
+ "actions" : ["port_counter34"],
"base_default_next" : null,
"next_tables" : {
- "act_3" : null
+ "port_counter34" : null
},
"default_entry" : {
"action_id" : 31,
@@ -3417,23 +3673,23 @@
"input" : [
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ipv4_src_addr"]
+ "value" : ["scalars", "userMetadata.ipv4_src_addr"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ipv4_dst_addr"]
+ "value" : ["scalars", "userMetadata.ipv4_dst_addr"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.ip_proto"]
+ "value" : ["scalars", "userMetadata.ip_proto"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.l4_sport"]
+ "value" : ["scalars", "userMetadata.l4_sport"]
},
{
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.l4_dport"]
+ "value" : ["scalars", "userMetadata.l4_dport"]
}
]
}
@@ -3460,7 +3716,7 @@
}
}
},
- "true_next" : "tbl_act",
+ "true_next" : "tbl_packetio25",
"false_next" : "node_4"
},
{
@@ -3483,7 +3739,7 @@
}
}
},
- "true_next" : "tbl_act_0",
+ "true_next" : "tbl_filtering111",
"false_next" : "node_6"
},
{
@@ -3513,7 +3769,7 @@
}
}
},
- "true_next" : "tbl_act_1",
+ "true_next" : "tbl_filtering127",
"false_next" : "FabricIngress.filtering.ingress_port_vlan"
},
{
@@ -3523,26 +3779,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_forwarding"]
+ "value" : ["scalars", "userMetadata.skip_forwarding"]
}
}
- },
- "right" : {
- "type" : "bool",
- "value" : false
}
}
},
@@ -3564,7 +3817,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.fwd_type"]
+ "value" : ["scalars", "userMetadata.fwd_type"]
},
"right" : {
"type" : "hexstr",
@@ -3590,7 +3843,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.fwd_type"]
+ "value" : ["scalars", "userMetadata.fwd_type"]
},
"right" : {
"type" : "hexstr",
@@ -3616,7 +3869,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.fwd_type"]
+ "value" : ["scalars", "userMetadata.fwd_type"]
},
"right" : {
"type" : "hexstr",
@@ -3634,26 +3887,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_next"]
+ "value" : ["scalars", "userMetadata.skip_next"]
}
}
- },
- "right" : {
- "type" : "bool",
- "value" : false
}
}
},
@@ -3683,7 +3933,7 @@
}
}
},
- "true_next" : "tbl_act_2",
+ "true_next" : "tbl_port_counter31",
"false_next" : "node_25"
},
{
@@ -3710,7 +3960,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_3"
+ "true_next" : "tbl_port_counter34"
}
]
},
@@ -3726,7 +3976,7 @@
"init_table" : "node_29",
"tables" : [
{
- "name" : "tbl_act_4",
+ "name" : "tbl_packetio41",
"id" : 15,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -3742,10 +3992,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [37],
- "actions" : ["act_4"],
+ "actions" : ["packetio41"],
"base_default_next" : "node_31",
"next_tables" : {
- "act_4" : "node_31"
+ "packetio41" : "node_31"
},
"default_entry" : {
"action_id" : 37,
@@ -3755,7 +4005,7 @@
}
},
{
- "name" : "tbl_act_5",
+ "name" : "tbl_packetio44",
"id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -3771,10 +4021,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [38],
- "actions" : ["act_5"],
+ "actions" : ["packetio44"],
"base_default_next" : "node_33",
"next_tables" : {
- "act_5" : "node_33"
+ "packetio44" : "node_33"
},
"default_entry" : {
"action_id" : 38,
@@ -3784,7 +4034,7 @@
}
},
{
- "name" : "tbl_act_6",
+ "name" : "tbl_next349",
"id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -3800,10 +4050,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [39],
- "actions" : ["act_6"],
+ "actions" : ["next349"],
"base_default_next" : "node_35",
"next_tables" : {
- "act_6" : "node_35"
+ "next349" : "node_35"
},
"default_entry" : {
"action_id" : 39,
@@ -3883,7 +4133,7 @@
{
"match_type" : "exact",
"name" : "vlan_id",
- "target" : ["scalars", "fabric_metadata_t.vlan_id"],
+ "target" : ["scalars", "userMetadata.vlan_id"],
"mask" : null
},
{
@@ -3915,7 +4165,7 @@
}
},
{
- "name" : "tbl_act_7",
+ "name" : "tbl_next375",
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -3931,10 +4181,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [41],
- "actions" : ["act_8"],
+ "actions" : ["next375"],
"base_default_next" : "node_42",
"next_tables" : {
- "act_8" : "node_42"
+ "next375" : "node_42"
},
"default_entry" : {
"action_id" : 41,
@@ -3944,7 +4194,7 @@
}
},
{
- "name" : "tbl_act_8",
+ "name" : "tbl_next376",
"id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -3960,10 +4210,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [40],
- "actions" : ["act_7"],
+ "actions" : ["next376"],
"base_default_next" : null,
"next_tables" : {
- "act_7" : null
+ "next376" : null
},
"default_entry" : {
"action_id" : 40,
@@ -3973,7 +4223,7 @@
}
},
{
- "name" : "tbl_act_9",
+ "name" : "tbl_next379",
"id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -3989,10 +4239,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [43],
- "actions" : ["act_10"],
+ "actions" : ["next379"],
"base_default_next" : "node_46",
"next_tables" : {
- "act_10" : "node_46"
+ "next379" : "node_46"
},
"default_entry" : {
"action_id" : 43,
@@ -4002,7 +4252,7 @@
}
},
{
- "name" : "tbl_act_10",
+ "name" : "tbl_next380",
"id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4018,10 +4268,10 @@
"support_timeout" : false,
"direct_meters" : null,
"action_ids" : [42],
- "actions" : ["act_9"],
+ "actions" : ["next380"],
"base_default_next" : null,
"next_tables" : {
- "act_9" : null
+ "next380" : null
},
"default_entry" : {
"action_id" : 42,
@@ -4040,30 +4290,20 @@
"filename" : "include/control/packetio.p4",
"line" : 39,
"column" : 12,
- "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
+ "source_fragment" : "fabric_metadata.is_controller_packet_out"
},
"expression" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t.is_controller_packet_out"]
- }
- }
- },
+ "op" : "d2b",
+ "left" : null,
"right" : {
- "type" : "bool",
- "value" : true
+ "type" : "field",
+ "value" : ["scalars", "userMetadata.is_controller_packet_out"]
}
}
},
- "true_next" : "tbl_act_4",
+ "true_next" : "tbl_packetio41",
"false_next" : "node_31"
},
{
@@ -4089,7 +4329,7 @@
}
}
},
- "true_next" : "tbl_act_5",
+ "true_next" : "tbl_packetio44",
"false_next" : "node_33"
},
{
@@ -4108,21 +4348,11 @@
"left" : {
"type" : "expression",
"value" : {
- "op" : "==",
- "left" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t.is_multicast"]
- }
- }
- },
+ "op" : "d2b",
+ "left" : null,
"right" : {
- "type" : "bool",
- "value" : true
+ "type" : "field",
+ "value" : ["scalars", "userMetadata.is_multicast"]
}
}
},
@@ -4142,7 +4372,7 @@
}
}
},
- "true_next" : "tbl_act_6",
+ "true_next" : "tbl_next349",
"false_next" : "node_35"
},
{
@@ -4160,7 +4390,7 @@
"op" : "==",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.mpls_label"]
+ "value" : ["scalars", "userMetadata.mpls_label"]
},
"right" : {
"type" : "hexstr",
@@ -4214,7 +4444,7 @@
}
}
},
- "true_next" : "tbl_act_7",
+ "true_next" : "tbl_next375",
"false_next" : "node_44"
},
{
@@ -4241,7 +4471,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_8"
+ "true_next" : "tbl_next376"
},
{
"name" : "node_44",
@@ -4273,7 +4503,7 @@
"op" : "!=",
"left" : {
"type" : "field",
- "value" : ["scalars", "fabric_metadata_t.fwd_type"]
+ "value" : ["scalars", "userMetadata.fwd_type"]
},
"right" : {
"type" : "hexstr",
@@ -4284,7 +4514,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_9"
+ "true_next" : "tbl_next379"
},
{
"name" : "node_46",
@@ -4310,7 +4540,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_10"
+ "true_next" : "tbl_next380"
}
]
}
@@ -4397,33 +4627,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