| { |
| "header_types" : [ |
| { |
| "name" : "scalars_0", |
| "id" : 0, |
| "fields" : [ |
| ["tmp_0", 1, false], |
| ["tmp_2", 3, false], |
| ["tmp_4", 8, false], |
| ["tmp_1", 16, false], |
| ["tmp_3", 16, false], |
| ["tmp_5", 4, false], |
| ["tmp_6", 16, false], |
| ["tmp_7", 64, false], |
| ["tmp_8", 32, false], |
| ["tmp_9", 32, false], |
| ["acl_ipv4_src", 32, false], |
| ["acl_ipv4_dst", 32, false], |
| ["acl_ip_proto", 8, false], |
| ["acl_l4_sport", 16, false], |
| ["acl_l4_dport", 16, false], |
| ["bng_ingress_upstream_hasReturned", 1, 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], |
| ["userMetadata._port_type27", 2, false], |
| ["_padding_0", 7, false] |
| ] |
| }, |
| { |
| "name" : "packet_out_header_t", |
| "id" : 1, |
| "fields" : [ |
| ["egress_port", 9, false], |
| ["do_forwarding", 1, false], |
| ["_pad", 6, false] |
| ] |
| }, |
| { |
| "name" : "gtpu_t", |
| "id" : 2, |
| "fields" : [ |
| ["version", 3, false], |
| ["pt", 1, false], |
| ["spare", 1, false], |
| ["ex_flag", 1, false], |
| ["seq_flag", 1, false], |
| ["npdu_flag", 1, false], |
| ["msgtype", 8, false], |
| ["msglen", 16, false], |
| ["teid", 32, false] |
| ] |
| }, |
| { |
| "name" : "standard_metadata", |
| "id" : 3, |
| "fields" : [ |
| ["ingress_port", 9, false], |
| ["egress_spec", 9, false], |
| ["egress_port", 9, false], |
| ["instance_type", 32, false], |
| ["packet_length", 32, false], |
| ["enq_timestamp", 32, false], |
| ["enq_qdepth", 19, false], |
| ["deq_timedelta", 32, false], |
| ["deq_qdepth", 19, false], |
| ["ingress_global_timestamp", 48, false], |
| ["egress_global_timestamp", 48, false], |
| ["mcast_grp", 16, false], |
| ["egress_rid", 16, false], |
| ["checksum_error", 1, false], |
| ["parser_error", 32, false], |
| ["priority", 3, false], |
| ["_padding", 3, false] |
| ] |
| }, |
| { |
| "name" : "ethernet_t", |
| "id" : 4, |
| "fields" : [ |
| ["dst_addr", 48, false], |
| ["src_addr", 48, false] |
| ] |
| }, |
| { |
| "name" : "vlan_tag_t", |
| "id" : 5, |
| "fields" : [ |
| ["eth_type", 16, false], |
| ["pri", 3, false], |
| ["cfi", 1, false], |
| ["vlan_id", 12, false] |
| ] |
| }, |
| { |
| "name" : "eth_type_t", |
| "id" : 6, |
| "fields" : [ |
| ["value", 16, false] |
| ] |
| }, |
| { |
| "name" : "pppoe_t", |
| "id" : 7, |
| "fields" : [ |
| ["version", 4, false], |
| ["type_id", 4, false], |
| ["code", 8, false], |
| ["session_id", 16, false], |
| ["length", 16, false], |
| ["protocol", 16, false] |
| ] |
| }, |
| { |
| "name" : "mpls_t", |
| "id" : 8, |
| "fields" : [ |
| ["label", 20, false], |
| ["tc", 3, false], |
| ["bos", 1, false], |
| ["ttl", 8, false] |
| ] |
| }, |
| { |
| "name" : "ipv4_t", |
| "id" : 9, |
| "fields" : [ |
| ["version", 4, false], |
| ["ihl", 4, false], |
| ["dscp", 6, false], |
| ["ecn", 2, false], |
| ["total_len", 16, false], |
| ["identification", 16, false], |
| ["flags", 3, false], |
| ["frag_offset", 13, false], |
| ["ttl", 8, false], |
| ["protocol", 8, false], |
| ["hdr_checksum", 16, false], |
| ["src_addr", 32, false], |
| ["dst_addr", 32, false] |
| ] |
| }, |
| { |
| "name" : "udp_t", |
| "id" : 10, |
| "fields" : [ |
| ["sport", 16, false], |
| ["dport", 16, false], |
| ["len", 16, false], |
| ["checksum", 16, false] |
| ] |
| }, |
| { |
| "name" : "tcp_t", |
| "id" : 11, |
| "fields" : [ |
| ["sport", 16, false], |
| ["dport", 16, false], |
| ["seq_no", 32, false], |
| ["ack_no", 32, false], |
| ["data_offset", 4, false], |
| ["res", 3, false], |
| ["ecn", 3, false], |
| ["ctrl", 6, false], |
| ["window", 16, false], |
| ["checksum", 16, false], |
| ["urgent_ptr", 16, false] |
| ] |
| }, |
| { |
| "name" : "icmp_t", |
| "id" : 12, |
| "fields" : [ |
| ["icmp_type", 8, false], |
| ["icmp_code", 8, false], |
| ["checksum", 16, false], |
| ["identifier", 16, false], |
| ["sequence_number", 16, false], |
| ["timestamp", 64, false] |
| ] |
| }, |
| { |
| "name" : "packet_in_header_t", |
| "id" : 13, |
| "fields" : [ |
| ["ingress_port", 9, false], |
| ["_pad", 7, false] |
| ] |
| } |
| ], |
| "headers" : [ |
| { |
| "name" : "tmp", |
| "id" : 0, |
| "header_type" : "packet_out_header_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "gtpu_0", |
| "id" : 1, |
| "header_type" : "gtpu_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "scalars", |
| "id" : 2, |
| "header_type" : "scalars_0", |
| "metadata" : true, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "standard_metadata", |
| "id" : 3, |
| "header_type" : "standard_metadata", |
| "metadata" : true, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "ethernet", |
| "id" : 4, |
| "header_type" : "ethernet_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "vlan_tag", |
| "id" : 5, |
| "header_type" : "vlan_tag_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "inner_vlan_tag", |
| "id" : 6, |
| "header_type" : "vlan_tag_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "eth_type", |
| "id" : 7, |
| "header_type" : "eth_type_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "pppoe", |
| "id" : 8, |
| "header_type" : "pppoe_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "mpls", |
| "id" : 9, |
| "header_type" : "mpls_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "gtpu", |
| "id" : 10, |
| "header_type" : "gtpu_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "inner_ipv4", |
| "id" : 11, |
| "header_type" : "ipv4_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "inner_udp", |
| "id" : 12, |
| "header_type" : "udp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "inner_tcp", |
| "id" : 13, |
| "header_type" : "tcp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "inner_icmp", |
| "id" : 14, |
| "header_type" : "icmp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "ipv4", |
| "id" : 15, |
| "header_type" : "ipv4_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "tcp", |
| "id" : 16, |
| "header_type" : "tcp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "udp", |
| "id" : 17, |
| "header_type" : "udp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "icmp", |
| "id" : 18, |
| "header_type" : "icmp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "packet_out", |
| "id" : 19, |
| "header_type" : "packet_out_header_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "packet_in", |
| "id" : 20, |
| "header_type" : "packet_in_header_t", |
| "metadata" : false, |
| "pi_omit" : true |
| } |
| ], |
| "header_stacks" : [], |
| "header_union_types" : [], |
| "header_unions" : [], |
| "header_union_stacks" : [], |
| "field_lists" : [ |
| { |
| "id" : 1, |
| "name" : "fl", |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 52, |
| "column" : 40, |
| "source_fragment" : "{standard_metadata.ingress_port}" |
| }, |
| "elements" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| } |
| ] |
| } |
| ], |
| "errors" : [ |
| ["NoError", 1], |
| ["PacketTooShort", 2], |
| ["NoMatch", 3], |
| ["StackOutOfBounds", 4], |
| ["HeaderTooShort", 5], |
| ["ParserTimeout", 6], |
| ["ParserInvalidArgument", 7] |
| ], |
| "enums" : [], |
| "parsers" : [ |
| { |
| "name" : "parser", |
| "id" : 0, |
| "init_state" : "start", |
| "parse_states" : [ |
| { |
| "name" : "start", |
| "id" : 0, |
| "parser_ops" : [], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x00ff", |
| "mask" : null, |
| "next_state" : "check_packet_out" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : "parse_ethernet" |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| } |
| ] |
| }, |
| { |
| "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" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "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" |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_ethernet", |
| "id" : 4, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "ethernet" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0ffe" |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_1"] |
| }, |
| { |
| "type" : "lookahead", |
| "value" : [0, 16] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x88a8", |
| "mask" : null, |
| "next_state" : "parse_vlan_tag" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x9100", |
| "mask" : null, |
| "next_state" : "parse_vlan_tag" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8100", |
| "mask" : null, |
| "next_state" : "parse_vlan_tag" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : "parse_eth_type" |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_1"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_vlan_tag", |
| "id" : 5, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "vlan_tag" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_s_tag25"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_3"] |
| }, |
| { |
| "type" : "lookahead", |
| "value" : [0, 16] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x8100", |
| "mask" : null, |
| "next_state" : "parse_inner_vlan_tag" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : "parse_eth_type" |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_3"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_inner_vlan_tag", |
| "id" : 6, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "inner_vlan_tag" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_c_tag26"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "vlan_id"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : "parse_eth_type" |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_eth_type", |
| "id" : 7, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "eth_type" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x8847", |
| "mask" : null, |
| "next_state" : "parse_mpls" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800", |
| "mask" : null, |
| "next_state" : "parse_ipv4" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8863", |
| "mask" : null, |
| "next_state" : "parse_pppoe" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8864", |
| "mask" : null, |
| "next_state" : "parse_pppoe" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["eth_type", "value"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_pppoe", |
| "id" : 8, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "pppoe" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x0281", |
| "mask" : null, |
| "next_state" : "parse_mpls" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0021", |
| "mask" : null, |
| "next_state" : "parse_ipv4" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "protocol"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_mpls", |
| "id" : 9, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "mpls" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_label8"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["mpls", "label"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_ttl9"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_5"] |
| }, |
| { |
| "type" : "lookahead", |
| "value" : [0, 4] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x04", |
| "mask" : null, |
| "next_state" : "parse_ipv4" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : "parse_ethernet" |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_5"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_ipv4", |
| "id" : 10, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "ipv4" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ip_proto16"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "protocol"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ip_eth_type0"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800" |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ipv4_src_addr19"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "src_addr"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ipv4_dst_addr20"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dst_addr"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x06", |
| "mask" : null, |
| "next_state" : "parse_tcp" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x11", |
| "mask" : null, |
| "next_state" : "parse_udp" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01", |
| "mask" : null, |
| "next_state" : "parse_icmp" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["ipv4", "protocol"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_tcp", |
| "id" : 11, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "tcp" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._l4_sport17"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["tcp", "sport"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._l4_dport18"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["tcp", "dport"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_udp", |
| "id" : 12, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "udp" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._l4_sport17"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["udp", "sport"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._l4_dport18"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["udp", "dport"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| { |
| "type" : "lookahead", |
| "value" : [0, 64] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_0" |
| } |
| ], |
| "op" : "add_header" |
| } |
| ], |
| "op" : "primitive" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "version"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x3d" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x07" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "pt"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x3c" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "spare"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x3b" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "ex_flag"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x3a" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "seq_flag"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x39" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "npdu_flag"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x38" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "msgtype"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x30" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "msglen"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x20" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_0", "teid"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_2"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x3d" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x07" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_4"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : ">>", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "tmp_7"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x30" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffffffffffff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x086801ff", |
| "mask" : null, |
| "next_state" : "parse_gtpu" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["udp", "dport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_2"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_4"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_icmp", |
| "id" : 13, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "icmp" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_gtpu", |
| "id" : 14, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "gtpu" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "inner_ipv4" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x06", |
| "mask" : null, |
| "next_state" : "parse_inner_tcp" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x11", |
| "mask" : null, |
| "next_state" : "parse_inner_udp" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01", |
| "mask" : null, |
| "next_state" : "parse_inner_icmp" |
| }, |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["inner_ipv4", "protocol"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_inner_udp", |
| "id" : 15, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "inner_udp" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_inner_tcp", |
| "id" : 16, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "inner_tcp" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_inner_icmp", |
| "id" : 17, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "inner_icmp" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "default", |
| "value" : null, |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| } |
| ] |
| } |
| ], |
| "parse_vsets" : [], |
| "deparsers" : [ |
| { |
| "name" : "deparser", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/parser.p4", |
| "line" : 285, |
| "column" : 8, |
| "source_fragment" : "FabricDeparser" |
| }, |
| "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"], |
| "primitives" : [] |
| } |
| ], |
| "meter_arrays" : [ |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.m_besteff", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 154, |
| "column" : 33, |
| "source_fragment" : "m_besteff" |
| }, |
| "is_direct" : false, |
| "size" : 8192, |
| "rate_count" : 2, |
| "type" : "bytes" |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.m_prio", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 155, |
| "column" : 33, |
| "source_fragment" : "m_prio" |
| }, |
| "is_direct" : false, |
| "size" : 8192, |
| "rate_count" : 2, |
| "type" : "bytes" |
| } |
| ], |
| "counter_arrays" : [ |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.c_terminated", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 36, |
| "column" : 37, |
| "source_fragment" : "c_terminated" |
| }, |
| "size" : 8192, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.c_dropped", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 37, |
| "column" : 37, |
| "source_fragment" : "c_dropped" |
| }, |
| "size" : 8192, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.c_control", |
| "id" : 2, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 38, |
| "column" : 39, |
| "source_fragment" : "c_control" |
| }, |
| "size" : 8192, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.c_line_rx", |
| "id" : 3, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 152, |
| "column" : 37, |
| "source_fragment" : "c_line_rx" |
| }, |
| "size" : 8192, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricIngress.filtering.ingress_port_vlan_counter", |
| "id" : 4, |
| "is_direct" : true, |
| "binding" : "FabricIngress.filtering.ingress_port_vlan", |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 31, |
| "column" : 50, |
| "source_fragment" : "ingress_port_vlan_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.filtering.fwd_classifier_counter", |
| "id" : 5, |
| "is_direct" : true, |
| "binding" : "FabricIngress.filtering.fwd_classifier", |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 87, |
| "column" : 50, |
| "source_fragment" : "fwd_classifier_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.forwarding.bridging_counter", |
| "id" : 6, |
| "is_direct" : true, |
| "binding" : "FabricIngress.forwarding.bridging", |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 36, |
| "column" : 50, |
| "source_fragment" : "bridging_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.forwarding.mpls_counter", |
| "id" : 7, |
| "is_direct" : true, |
| "binding" : "FabricIngress.forwarding.mpls", |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 63, |
| "column" : 50, |
| "source_fragment" : "mpls_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.pre_next.next_mpls_counter", |
| "id" : 8, |
| "is_direct" : true, |
| "binding" : "FabricIngress.pre_next.next_mpls", |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 29, |
| "column" : 50, |
| "source_fragment" : "next_mpls_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.pre_next.next_vlan_counter", |
| "id" : 9, |
| "is_direct" : true, |
| "binding" : "FabricIngress.pre_next.next_vlan", |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 54, |
| "column" : 50, |
| "source_fragment" : "next_vlan_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.acl.acl_counter", |
| "id" : 10, |
| "is_direct" : true, |
| "binding" : "FabricIngress.acl.acl", |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 36, |
| "column" : 50, |
| "source_fragment" : "acl_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.next.hashed_counter", |
| "id" : 11, |
| "is_direct" : true, |
| "binding" : "FabricIngress.next.hashed", |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 126, |
| "column" : 50, |
| "source_fragment" : "hashed_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.next.multicast_counter", |
| "id" : 12, |
| "is_direct" : true, |
| "binding" : "FabricIngress.next.multicast", |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 163, |
| "column" : 50, |
| "source_fragment" : "multicast_counter" |
| } |
| }, |
| { |
| "name" : "FabricIngress.port_counters_control.egress_port_counter", |
| "id" : 13, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 26, |
| "column" : 48, |
| "source_fragment" : "egress_port_counter" |
| }, |
| "size" : 511, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricIngress.port_counters_control.ingress_port_counter", |
| "id" : 14, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 27, |
| "column" : 48, |
| "source_fragment" : "ingress_port_counter" |
| }, |
| "size" : 511, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricEgress.bng_egress.downstream.c_line_tx", |
| "id" : 15, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 267, |
| "column" : 37, |
| "source_fragment" : "c_line_tx" |
| }, |
| "size" : 8192, |
| "is_direct" : false |
| }, |
| { |
| "name" : "FabricEgress.egress_next.egress_vlan_counter", |
| "id" : 16, |
| "is_direct" : true, |
| "binding" : "FabricEgress.egress_next.egress_vlan", |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 248, |
| "column" : 50, |
| "source_fragment" : "egress_vlan_counter" |
| } |
| } |
| ], |
| "register_arrays" : [], |
| "calculations" : [ |
| { |
| "name" : "calc", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/checksum.p4", |
| "line" : 28, |
| "column" : 8, |
| "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..." |
| }, |
| "algo" : "csum16", |
| "input" : [ |
| { |
| "type" : "field", |
| "value" : ["ipv4", "version"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ihl"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dscp"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ecn"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "identification"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "flags"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "frag_offset"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ttl"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "protocol"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "src_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dst_addr"] |
| } |
| ] |
| }, |
| { |
| "name" : "calc_0", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/checksum.p4", |
| "line" : 57, |
| "column" : 8, |
| "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..." |
| }, |
| "algo" : "csum16", |
| "input" : [ |
| { |
| "type" : "field", |
| "value" : ["ipv4", "version"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ihl"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dscp"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ecn"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "identification"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "flags"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "frag_offset"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ttl"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "protocol"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "src_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dst_addr"] |
| } |
| ] |
| } |
| ], |
| "learn_lists" : [], |
| "actions" : [ |
| { |
| "name" : "nop", |
| "id" : 0, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 1, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 2, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 3, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 4, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 5, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 6, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 7, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 8, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu", |
| "id" : 9, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00ff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "smeta.egress_spec = 255" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "mcast_grp"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 47, |
| "column" : 8, |
| "source_fragment" : "smeta.mcast_grp = 0" |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricIngress.bng_ingress.upstream.c_control" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "c_control.count(fmeta.bng.line_id)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.term_disabled", |
| "id" : 10, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_type21"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../header.p4", |
| "line" : 163, |
| "column" : 36, |
| "source_fragment" : "2w0x0; ..." |
| } |
| }, |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 77, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop(smeta)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4", |
| "id" : 11, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["eth_type", "value"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 132, |
| "column" : 31, |
| "source_fragment" : "0x0800; ..." |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "pppoe" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 71, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.setInvalid()" |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricIngress.bng_ingress.upstream.c_terminated" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 72, |
| "column" : 8, |
| "source_fragment" : "c_terminated.count(fmeta.bng.line_id)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.set_session", |
| "id" : 12, |
| "runtime_data" : [ |
| { |
| "name" : "pppoe_session_id", |
| "bitwidth" : 16 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_type21"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x02" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../header.p4", |
| "line" : 165, |
| "column" : 39, |
| "source_fragment" : "2w0x2;; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 159, |
| "column" : 35, |
| "source_fragment" : "= pppoe_session_id; ..." |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricIngress.bng_ingress.downstream.c_line_rx" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 160, |
| "column" : 8, |
| "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.drop", |
| "id" : 13, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_type21"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x02" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../header.p4", |
| "line" : 165, |
| "column" : 39, |
| "source_fragment" : "2w0x2;; ..." |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricIngress.bng_ingress.downstream.c_line_rx" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 165, |
| "column" : 8, |
| "source_fragment" : "c_line_rx.count(fmeta.bng.line_id)" |
| } |
| }, |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 166, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop(smeta)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.qos_prio", |
| "id" : 14, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.qos_besteff", |
| "id" : 15, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.set_line", |
| "id" : 16, |
| "runtime_data" : [ |
| { |
| "name" : "line_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 320, |
| "column" : 30, |
| "source_fragment" : "= line_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.filtering.deny", |
| "id" : 17, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_forwarding10"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 36, |
| "column" : 40, |
| "source_fragment" : "= true; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_next11"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 37, |
| "column" : 34, |
| "source_fragment" : "= true; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._port_type27"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 119, |
| "column" : 38, |
| "source_fragment" : "0x0; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.filtering.permit", |
| "id" : 18, |
| "runtime_data" : [ |
| { |
| "name" : "port_type", |
| "bitwidth" : 2 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._port_type27"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 44, |
| "column" : 34, |
| "source_fragment" : "= port_type; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.filtering.permit_with_internal_vlan", |
| "id" : 19, |
| "runtime_data" : [ |
| { |
| "name" : "vlan_id", |
| "bitwidth" : 12 |
| }, |
| { |
| "name" : "port_type", |
| "bitwidth" : 2 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 49, |
| "column" : 32, |
| "source_fragment" : "= vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._port_type27"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 44, |
| "column" : 34, |
| "source_fragment" : "= port_type; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.filtering.set_forwarding_type", |
| "id" : 20, |
| "runtime_data" : [ |
| { |
| "name" : "fwd_type", |
| "bitwidth" : 3 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._fwd_type12"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 90, |
| "column" : 33, |
| "source_fragment" : "= fwd_type; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.forwarding.set_next_id_bridging", |
| "id" : 21, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._next_id13"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 30, |
| "column" : 32, |
| "source_fragment" : "= next_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.forwarding.pop_mpls_and_next", |
| "id" : 22, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_label8"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x000000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 66, |
| "column" : 35, |
| "source_fragment" : "= 0; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._next_id13"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 30, |
| "column" : 32, |
| "source_fragment" : "= next_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.forwarding.set_next_id_routing_v4", |
| "id" : 23, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._next_id13"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 30, |
| "column" : 32, |
| "source_fragment" : "= next_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.forwarding.nop_routing_v4", |
| "id" : 24, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "FabricIngress.pre_next.set_mpls_label", |
| "id" : 25, |
| "runtime_data" : [ |
| { |
| "name" : "label", |
| "bitwidth" : 20 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_label8"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 32, |
| "column" : 35, |
| "source_fragment" : "= label; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.pre_next.set_vlan", |
| "id" : 26, |
| "runtime_data" : [ |
| { |
| "name" : "vlan_id", |
| "bitwidth" : 12 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 57, |
| "column" : 32, |
| "source_fragment" : "= vlan_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.pre_next.set_double_vlan", |
| "id" : 27, |
| "runtime_data" : [ |
| { |
| "name" : "outer_vlan_id", |
| "bitwidth" : 12 |
| }, |
| { |
| "name" : "inner_vlan_id", |
| "bitwidth" : 12 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 57, |
| "column" : 32, |
| "source_fragment" : "= vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._push_double_vlan4"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 64, |
| "column" : 41, |
| "source_fragment" : "= true; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_id5"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 65, |
| "column" : 38, |
| "source_fragment" : "= inner_vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_s_tag25"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 67, |
| "column" : 34, |
| "source_fragment" : "= outer_vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_c_tag26"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 68, |
| "column" : 34, |
| "source_fragment" : "= inner_vlan_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.acl.set_next_id_acl", |
| "id" : 28, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._next_id13"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 39, |
| "column" : 32, |
| "source_fragment" : "= next_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.acl.punt_to_cpu", |
| "id" : 29, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00ff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 45, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = 255" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_next11"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 46, |
| "column" : 34, |
| "source_fragment" : "= true; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.acl.set_clone_session_id", |
| "id" : 30, |
| "runtime_data" : [ |
| { |
| "name" : "clone_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "clone_ingress_pkt_to_egress", |
| "parameters" : [ |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x1" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 52, |
| "column" : 8, |
| "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.acl.drop", |
| "id" : 31, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 57, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_next11"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 58, |
| "column" : 34, |
| "source_fragment" : "= true; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.acl.nop_acl", |
| "id" : 32, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "FabricIngress.next.output_hashed", |
| "id" : 33, |
| "runtime_data" : [ |
| { |
| "name" : "port_num", |
| "bitwidth" : 9 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 31, |
| "column" : 5, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.next.routing_hashed", |
| "id" : 34, |
| "runtime_data" : [ |
| { |
| "name" : "port_num", |
| "bitwidth" : 9 |
| }, |
| { |
| "name" : "smac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "dmac", |
| "bitwidth" : 48 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "src_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.ethernet.src_addr = smac; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "dst_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 2 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 41, |
| "column" : 8, |
| "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 31, |
| "column" : 5, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricIngress.next.set_mcast_group_id", |
| "id" : 35, |
| "runtime_data" : [ |
| { |
| "name" : "group_id", |
| "bitwidth" : 16 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "mcast_grp"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 166, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.mcast_grp = group_id" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._is_multicast14"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 167, |
| "column" : 37, |
| "source_fragment" : "= true; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "packetio25", |
| "id" : 36, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["packet_out", "egress_port"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 25, |
| "column" : 12, |
| "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port" |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "packet_out" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 26, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_out.setInvalid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._is_controller_packet_out15"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 27, |
| "column" : 53, |
| "source_fragment" : "= true; ..." |
| } |
| }, |
| { |
| "op" : "exit", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 29, |
| "column" : 12, |
| "source_fragment" : "exit" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "filtering113", |
| "id" : 37, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 113, |
| "column" : 36, |
| "source_fragment" : "= hdr.vlan_tag.vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_pri2"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "pri"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 114, |
| "column" : 37, |
| "source_fragment" : "= hdr.vlan_tag.pri; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_cfi3"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "cfi"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 115, |
| "column" : 37, |
| "source_fragment" : "= hdr.vlan_tag.cfi; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "filtering119", |
| "id" : 38, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_id5"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "vlan_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 119, |
| "column" : 42, |
| "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_pri6"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "pri"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 120, |
| "column" : 43, |
| "source_fragment" : "= hdr.inner_vlan_tag.pri; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_cfi7"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "cfi"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 121, |
| "column" : 43, |
| "source_fragment" : "= hdr.inner_vlan_tag.cfi; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "filtering129", |
| "id" : 39, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_ttl9"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x41" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 129, |
| "column" : 37, |
| "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl102", |
| "id" : 40, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_sport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_tcp", "sport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 102, |
| "column" : 16, |
| "source_fragment" : "l4_sport = hdr.inner_tcp.sport" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_dport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_tcp", "dport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 103, |
| "column" : 16, |
| "source_fragment" : "l4_dport = hdr.inner_tcp.dport" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl105", |
| "id" : 41, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_sport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_udp", "sport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 105, |
| "column" : 16, |
| "source_fragment" : "l4_sport = hdr.inner_udp.sport" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_dport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_udp", "dport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 106, |
| "column" : 16, |
| "source_fragment" : "l4_dport = hdr.inner_udp.dport" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl98", |
| "id" : 42, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ipv4_src"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_ipv4", "src_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 98, |
| "column" : 12, |
| "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ipv4_dst"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_ipv4", "dst_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 99, |
| "column" : 12, |
| "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ip_proto"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["inner_ipv4", "protocol"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 100, |
| "column" : 12, |
| "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl113", |
| "id" : 43, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_sport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["tcp", "sport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 113, |
| "column" : 16, |
| "source_fragment" : "l4_sport = hdr.tcp.sport" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_dport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["tcp", "dport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 114, |
| "column" : 16, |
| "source_fragment" : "l4_dport = hdr.tcp.dport" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl116", |
| "id" : 44, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_sport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["udp", "sport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 116, |
| "column" : 16, |
| "source_fragment" : "l4_sport = hdr.udp.sport" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_dport"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["udp", "dport"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 117, |
| "column" : 16, |
| "source_fragment" : "l4_dport = hdr.udp.dport" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl109", |
| "id" : 45, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ipv4_src"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "src_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 109, |
| "column" : 12, |
| "source_fragment" : "ipv4_src = hdr.ipv4.src_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ipv4_dst"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dst_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 110, |
| "column" : 12, |
| "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ip_proto"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "protocol"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 111, |
| "column" : 12, |
| "source_fragment" : "ip_proto = hdr.ipv4.protocol" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "acl27", |
| "id" : 46, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ipv4_src"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00000000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 27, |
| "column" : 4, |
| "source_fragment" : "ipv4_addr_t ipv4_src = 0;" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ipv4_dst"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00000000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 28, |
| "column" : 4, |
| "source_fragment" : "ipv4_addr_t ipv4_dst = 0;" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_ip_proto"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 29, |
| "column" : 4, |
| "source_fragment" : "bit<8> ip_proto = 0;" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_sport"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 30, |
| "column" : 4, |
| "source_fragment" : "l4_port_t l4_sport = 0;" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "acl_l4_dport"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 31, |
| "column" : 4, |
| "source_fragment" : "l4_port_t l4_dport = 0;" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "port_counter31", |
| "id" : 47, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_8"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 31, |
| "column" : 38, |
| "source_fragment" : "(bit<32>)standard_metadata.egress_spec" |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricIngress.port_counters_control.egress_port_counter" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_8"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 31, |
| "column" : 12, |
| "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "port_counter34", |
| "id" : 48, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_9"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 34, |
| "column" : 39, |
| "source_fragment" : "(bit<32>)standard_metadata.ingress_port" |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricIngress.port_counters_control.ingress_port_counter" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_9"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 34, |
| "column" : 12, |
| "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "bng126", |
| "id" : 49, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "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" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 126, |
| "column" : 12, |
| "source_fragment" : "return" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "bng342", |
| "id" : 50, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_type21"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../header.p4", |
| "line" : 164, |
| "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" : "bng131", |
| "id" : 51, |
| "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" : 52, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "execute_meter", |
| "parameters" : [ |
| { |
| "type" : "meter_array", |
| "value" : "FabricIngress.bng_ingress.downstream.m_prio" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_ds_meter_result24"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 238, |
| "column" : 24, |
| "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "bng241", |
| "id" : 53, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "execute_meter", |
| "parameters" : [ |
| { |
| "type" : "meter_array", |
| "value" : "FabricIngress.bng_ingress.downstream.m_besteff" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_ds_meter_result24"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 241, |
| "column" : 24, |
| "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.bng_egress.downstream.encap_v4", |
| "id" : 54, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["eth_type", "value"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8864" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 136, |
| "column" : 33, |
| "source_fragment" : "0x8864; ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "pppoe" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 273, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "version"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 274, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.version = 4w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "type_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 275, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.type_id = 4w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "code"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 276, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.code = 8w0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "session_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 277, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.session_id = fmeta.bng.pppoe_session_id; ..." |
| } |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "FabricEgress.bng_egress.downstream.c_line_tx" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_line_id22"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 278, |
| "column" : 8, |
| "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "length"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x0002" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 283, |
| "column" : 8, |
| "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["pppoe", "protocol"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0021" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 138, |
| "column" : 35, |
| "source_fragment" : "0x0021; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.pop_mpls_if_present", |
| "id" : 55, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "mpls" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 204, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.setInvalid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["eth_type", "value"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ip_eth_type0"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 206, |
| "column" : 8, |
| "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.set_mpls", |
| "id" : 56, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "mpls" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 211, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "label"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_label8"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 212, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "tc"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 213, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.tc = 3w0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "bos"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 214, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.bos = 1w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_ttl9"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 215, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["eth_type", "value"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8847" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 130, |
| "column" : 31, |
| "source_fragment" : "0x8847; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.push_outer_vlan", |
| "id" : 57, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 223, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "cfi"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_cfi3"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 224, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "pri"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_pri2"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 225, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "eth_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8100" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 129, |
| "column" : 31, |
| "source_fragment" : "0x8100; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 227, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.push_inner_vlan", |
| "id" : 58, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "inner_vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 234, |
| "column" : 8, |
| "source_fragment" : "hdr.inner_vlan_tag.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "cfi"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_cfi7"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 235, |
| "column" : 8, |
| "source_fragment" : "hdr.inner_vlan_tag.cfi = fabric_metadata.inner_vlan_cfi; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "pri"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_pri6"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 236, |
| "column" : 8, |
| "source_fragment" : "hdr.inner_vlan_tag.pri = fabric_metadata.inner_vlan_pri; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "vlan_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._inner_vlan_id5"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 237, |
| "column" : 8, |
| "source_fragment" : "hdr.inner_vlan_tag.vlan_id = fabric_metadata.inner_vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "eth_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8100" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 129, |
| "column" : 31, |
| "source_fragment" : "0x8100; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "eth_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8100" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 129, |
| "column" : 31, |
| "source_fragment" : "0x8100; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.push_vlan", |
| "id" : 59, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 223, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "cfi"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_cfi3"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 224, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "pri"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_pri2"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 225, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "eth_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8100" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 129, |
| "column" : 31, |
| "source_fragment" : "0x8100; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._vlan_id1"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 227, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.pop_vlan", |
| "id" : 60, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 256, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.setInvalid()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "FabricEgress.egress_next.drop", |
| "id" : 61, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 261, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "packetio41", |
| "id" : 62, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "exit", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 41, |
| "column" : 12, |
| "source_fragment" : "exit" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "packetio44", |
| "id" : 63, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "packet_in" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 44, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_in.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["packet_in", "ingress_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 45, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port" |
| } |
| }, |
| { |
| "op" : "exit", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 47, |
| "column" : 12, |
| "source_fragment" : "exit" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next283", |
| "id" : 64, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 283, |
| "column" : 12, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next299", |
| "id" : 65, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "inner_vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 299, |
| "column" : 12, |
| "source_fragment" : "hdr.inner_vlan_tag.setInvalid()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next310", |
| "id" : 66, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 310, |
| "column" : 35, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next309", |
| "id" : 67, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 309, |
| "column" : 12, |
| "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next314", |
| "id" : 68, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "mark_to_drop", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "standard_metadata" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 314, |
| "column" : 39, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next313", |
| "id" : 69, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ipv4", "ttl"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["ipv4", "ttl"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 313, |
| "column" : 16, |
| "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1" |
| } |
| } |
| ] |
| } |
| ], |
| "pipelines" : [ |
| { |
| "name" : "ingress", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 47, |
| "column" : 8, |
| "source_fragment" : "FabricIngress" |
| }, |
| "init_table" : "node_2", |
| "tables" : [ |
| { |
| "name" : "tbl_packetio25", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 25, |
| "column" : 42, |
| "source_fragment" : "= hdr.packet_out.egress_port; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [36], |
| "actions" : ["packetio25"], |
| "base_default_next" : "node_4", |
| "next_tables" : { |
| "packetio25" : "node_4" |
| }, |
| "default_entry" : { |
| "action_id" : 36, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_filtering113", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 113, |
| "column" : 36, |
| "source_fragment" : "= hdr.vlan_tag.vlan_id; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [37], |
| "actions" : ["filtering113"], |
| "base_default_next" : "node_6", |
| "next_tables" : { |
| "filtering113" : "node_6" |
| }, |
| "default_entry" : { |
| "action_id" : 37, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_filtering119", |
| "id" : 2, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 119, |
| "column" : 42, |
| "source_fragment" : "= hdr.inner_vlan_tag.vlan_id; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [38], |
| "actions" : ["filtering119"], |
| "base_default_next" : "node_8", |
| "next_tables" : { |
| "filtering119" : "node_8" |
| }, |
| "default_entry" : { |
| "action_id" : 38, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_filtering129", |
| "id" : 3, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 129, |
| "column" : 37, |
| "source_fragment" : "=" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [39], |
| "actions" : ["filtering129"], |
| "base_default_next" : "FabricIngress.filtering.ingress_port_vlan", |
| "next_tables" : { |
| "filtering129" : "FabricIngress.filtering.ingress_port_vlan" |
| }, |
| "default_entry" : { |
| "action_id" : 39, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.filtering.ingress_port_vlan", |
| "id" : 4, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 55, |
| "column" : 10, |
| "source_fragment" : "ingress_port_vlan" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "ig_port", |
| "target" : ["standard_metadata", "ingress_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "vlan_is_valid", |
| "target" : ["vlan_tag", "$valid$"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "vlan_id", |
| "target" : ["vlan_tag", "vlan_id"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "inner_vlan_id", |
| "target" : ["inner_vlan_tag", "vlan_id"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 8192, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [17, 18, 19], |
| "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"], |
| "base_default_next" : "FabricIngress.filtering.fwd_classifier", |
| "next_tables" : { |
| "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier", |
| "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier", |
| "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier" |
| }, |
| "default_entry" : { |
| "action_id" : 17, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.filtering.fwd_classifier", |
| "id" : 5, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 94, |
| "column" : 10, |
| "source_fragment" : "fwd_classifier" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "ig_port", |
| "target" : ["standard_metadata", "ingress_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "eth_dst", |
| "target" : ["ethernet", "dst_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "eth_type", |
| "target" : ["eth_type", "value"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "ip_eth_type", |
| "target" : ["scalars", "userMetadata._ip_eth_type0"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [20], |
| "actions" : ["FabricIngress.filtering.set_forwarding_type"], |
| "base_default_next" : "node_12", |
| "next_tables" : { |
| "FabricIngress.filtering.set_forwarding_type" : "node_12" |
| }, |
| "default_entry" : { |
| "action_id" : 20, |
| "action_const" : true, |
| "action_data" : ["0x0"], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.forwarding.bridging", |
| "id" : 6, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 46, |
| "column" : 10, |
| "source_fragment" : "bridging" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "vlan_id", |
| "target" : ["scalars", "userMetadata._vlan_id1"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "eth_dst", |
| "target" : ["ethernet", "dst_addr"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [21, 2], |
| "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"], |
| "base_default_next" : "node_19", |
| "next_tables" : { |
| "FabricIngress.forwarding.set_next_id_bridging" : "node_19", |
| "nop" : "node_19" |
| }, |
| "default_entry" : { |
| "action_id" : 2, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.forwarding.mpls", |
| "id" : 7, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 71, |
| "column" : 10, |
| "source_fragment" : "mpls" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "mpls_label", |
| "target" : ["scalars", "userMetadata._mpls_label8"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [22, 3], |
| "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"], |
| "base_default_next" : "node_19", |
| "next_tables" : { |
| "FabricIngress.forwarding.pop_mpls_and_next" : "node_19", |
| "nop" : "node_19" |
| }, |
| "default_entry" : { |
| "action_id" : 3, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.forwarding.routing_v4", |
| "id" : 8, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 108, |
| "column" : 10, |
| "source_fragment" : "routing_v4" |
| }, |
| "key" : [ |
| { |
| "match_type" : "lpm", |
| "name" : "ipv4_dst", |
| "target" : ["scalars", "userMetadata._ipv4_dst_addr20"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "lpm", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [23, 24, 4], |
| "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"], |
| "base_default_next" : "node_19", |
| "next_tables" : { |
| "FabricIngress.forwarding.set_next_id_routing_v4" : "node_19", |
| "FabricIngress.forwarding.nop_routing_v4" : "node_19", |
| "nop" : "node_19" |
| }, |
| "default_entry" : { |
| "action_id" : 4, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "FabricIngress.pre_next.next_mpls", |
| "id" : 9, |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 36, |
| "column" : 10, |
| "source_fragment" : "next_mpls" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "next_id", |
| "target" : ["scalars", "userMetadata._next_id13"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [25, 5], |
| "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"], |
| "base_default_next" : "FabricIngress.pre_next.next_vlan", |
| "next_tables" : { |
| "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan", |
| "nop" : "FabricIngress.pre_next.next_vlan" |
| }, |
| "default_entry" : { |
| "action_id" : 5, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.pre_next.next_vlan", |
| "id" : 10, |
| "source_info" : { |
| "filename" : "include/control/pre_next.p4", |
| "line" : 73, |
| "column" : 10, |
| "source_fragment" : "next_vlan" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "next_id", |
| "target" : ["scalars", "userMetadata._next_id13"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [26, 27, 6], |
| "actions" : ["FabricIngress.pre_next.set_vlan", "FabricIngress.pre_next.set_double_vlan", "nop"], |
| "base_default_next" : "tbl_acl27", |
| "next_tables" : { |
| "FabricIngress.pre_next.set_vlan" : "tbl_acl27", |
| "FabricIngress.pre_next.set_double_vlan" : "tbl_acl27", |
| "nop" : "tbl_acl27" |
| }, |
| "default_entry" : { |
| "action_id" : 6, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl27", |
| "id" : 11, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 27, |
| "column" : 4, |
| "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [46], |
| "actions" : ["acl27"], |
| "base_default_next" : "node_23", |
| "next_tables" : { |
| "acl27" : "node_23" |
| }, |
| "default_entry" : { |
| "action_id" : 46, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl98", |
| "id" : 12, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 98, |
| "column" : 21, |
| "source_fragment" : "= hdr.inner_ipv4.src_addr; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [42], |
| "actions" : ["acl98"], |
| "base_default_next" : "node_25", |
| "next_tables" : { |
| "acl98" : "node_25" |
| }, |
| "default_entry" : { |
| "action_id" : 42, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl102", |
| "id" : 13, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 102, |
| "column" : 25, |
| "source_fragment" : "= hdr.inner_tcp.sport; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [40], |
| "actions" : ["acl102"], |
| "base_default_next" : "FabricIngress.acl.acl", |
| "next_tables" : { |
| "acl102" : "FabricIngress.acl.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 40, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl105", |
| "id" : 14, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 105, |
| "column" : 25, |
| "source_fragment" : "= hdr.inner_udp.sport; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [41], |
| "actions" : ["acl105"], |
| "base_default_next" : "FabricIngress.acl.acl", |
| "next_tables" : { |
| "acl105" : "FabricIngress.acl.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 41, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl109", |
| "id" : 15, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 109, |
| "column" : 21, |
| "source_fragment" : "= hdr.ipv4.src_addr; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [45], |
| "actions" : ["acl109"], |
| "base_default_next" : "node_31", |
| "next_tables" : { |
| "acl109" : "node_31" |
| }, |
| "default_entry" : { |
| "action_id" : 45, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl113", |
| "id" : 16, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 113, |
| "column" : 25, |
| "source_fragment" : "= hdr.tcp.sport; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [43], |
| "actions" : ["acl113"], |
| "base_default_next" : "FabricIngress.acl.acl", |
| "next_tables" : { |
| "acl113" : "FabricIngress.acl.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 43, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_acl116", |
| "id" : 17, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 116, |
| "column" : 25, |
| "source_fragment" : "= hdr.udp.sport; ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [44], |
| "actions" : ["acl116"], |
| "base_default_next" : "FabricIngress.acl.acl", |
| "next_tables" : { |
| "acl116" : "FabricIngress.acl.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 44, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.acl.acl", |
| "id" : 18, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 66, |
| "column" : 10, |
| "source_fragment" : "acl" |
| }, |
| "key" : [ |
| { |
| "match_type" : "ternary", |
| "name" : "ig_port", |
| "target" : ["standard_metadata", "ingress_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "eth_dst", |
| "target" : ["ethernet", "dst_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "eth_src", |
| "target" : ["ethernet", "src_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "vlan_id", |
| "target" : ["vlan_tag", "vlan_id"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "eth_type", |
| "target" : ["eth_type", "value"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "ipv4_src", |
| "target" : ["scalars", "acl_ipv4_src"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "ipv4_dst", |
| "target" : ["scalars", "acl_ipv4_dst"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "ip_proto", |
| "target" : ["scalars", "acl_ip_proto"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "icmp_type", |
| "target" : ["icmp", "icmp_type"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "icmp_code", |
| "target" : ["icmp", "icmp_code"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "l4_sport", |
| "target" : ["scalars", "acl_l4_sport"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "l4_dport", |
| "target" : ["scalars", "acl_l4_dport"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "port_type", |
| "target" : ["scalars", "userMetadata._port_type27"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [28, 29, 30, 31, 32], |
| "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"], |
| "base_default_next" : "node_36", |
| "next_tables" : { |
| "FabricIngress.acl.set_next_id_acl" : "node_36", |
| "FabricIngress.acl.punt_to_cpu" : "node_36", |
| "FabricIngress.acl.set_clone_session_id" : "node_36", |
| "FabricIngress.acl.drop" : "node_36", |
| "FabricIngress.acl.nop_acl" : "node_36" |
| }, |
| "default_entry" : { |
| "action_id" : 32, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.next.hashed", |
| "id" : 19, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 138, |
| "column" : 10, |
| "source_fragment" : "hashed" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "next_id", |
| "target" : ["scalars", "userMetadata._next_id13"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "indirect_ws", |
| "action_profile" : "FabricIngress.next.hashed_selector", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [33, 34, 7], |
| "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"], |
| "base_default_next" : "FabricIngress.next.multicast", |
| "next_tables" : { |
| "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast", |
| "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast", |
| "nop" : "FabricIngress.next.multicast" |
| } |
| }, |
| { |
| "name" : "FabricIngress.next.multicast", |
| "id" : 20, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 171, |
| "column" : 10, |
| "source_fragment" : "multicast" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "next_id", |
| "target" : ["scalars", "userMetadata._next_id13"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [35, 8], |
| "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"], |
| "base_default_next" : "node_39", |
| "next_tables" : { |
| "FabricIngress.next.set_mcast_group_id" : "node_39", |
| "nop" : "node_39" |
| }, |
| "default_entry" : { |
| "action_id" : 8, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_port_counter31", |
| "id" : 21, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 31, |
| "column" : 12, |
| "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [47], |
| "actions" : ["port_counter31"], |
| "base_default_next" : "node_41", |
| "next_tables" : { |
| "port_counter31" : "node_41" |
| }, |
| "default_entry" : { |
| "action_id" : 47, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_port_counter34", |
| "id" : 22, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 34, |
| "column" : 12, |
| "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [48], |
| "actions" : ["port_counter34"], |
| "base_default_next" : "FabricIngress.bng_ingress.t_line_map", |
| "next_tables" : { |
| "port_counter34" : "FabricIngress.bng_ingress.t_line_map" |
| }, |
| "default_entry" : { |
| "action_id" : 48, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.t_line_map", |
| "id" : 23, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 323, |
| "column" : 14, |
| "source_fragment" : "t_line_map" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "s_tag", |
| "target" : ["scalars", "userMetadata._bng_s_tag25"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "c_tag", |
| "target" : ["scalars", "userMetadata._bng_c_tag26"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 8192, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [16], |
| "actions" : ["FabricIngress.bng_ingress.set_line"], |
| "base_default_next" : "node_44", |
| "next_tables" : { |
| "FabricIngress.bng_ingress.set_line" : "node_44" |
| }, |
| "default_entry" : { |
| "action_id" : 16, |
| "action_const" : true, |
| "action_data" : ["0x0"], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_bng342", |
| "id" : 24, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 342, |
| "column" : 31, |
| "source_fragment" : "=" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [50], |
| "actions" : ["bng342"], |
| "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp", |
| "next_tables" : { |
| "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp" |
| }, |
| "default_entry" : { |
| "action_id" : 50, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp", |
| "id" : 25, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 51, |
| "column" : 10, |
| "source_fragment" : "t_pppoe_cp" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "pppoe_code", |
| "target" : ["pppoe", "code"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "pppoe_protocol", |
| "target" : ["pppoe", "protocol"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 16, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [9, 0], |
| "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "__HIT__" : "tbl_bng126", |
| "__MISS__" : "node_48" |
| }, |
| "default_entry" : { |
| "action_id" : 0, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_bng126", |
| "id" : 26, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 126, |
| "column" : 12, |
| "source_fragment" : "return" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [49], |
| "actions" : ["bng126"], |
| "base_default_next" : "node_48", |
| "next_tables" : { |
| "bng126" : "node_48" |
| }, |
| "default_entry" : { |
| "action_id" : 49, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4", |
| "id" : 27, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 87, |
| "column" : 10, |
| "source_fragment" : "t_pppoe_term_v4" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "line_id", |
| "target" : ["scalars", "userMetadata._bng_line_id22"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "ipv4_src", |
| "target" : ["ipv4", "src_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "pppoe_session_id", |
| "target" : ["pppoe", "session_id"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 32768, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [11, 10], |
| "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_bng131", |
| "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null |
| }, |
| "default_entry" : { |
| "action_id" : 10, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_bng131", |
| "id" : 28, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 131, |
| "column" : 20, |
| "source_fragment" : "c_dropped.count(fmeta.bng.line_id)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [51], |
| "actions" : ["bng131"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "bng131" : null |
| }, |
| "default_entry" : { |
| "action_id" : 51, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map", |
| "id" : 29, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 169, |
| "column" : 10, |
| "source_fragment" : "t_line_session_map" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "line_id", |
| "target" : ["scalars", "userMetadata._bng_line_id22"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 8192, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [1, 12, 13], |
| "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "__MISS__" : null, |
| "__HIT__" : "node_53" |
| }, |
| "default_entry" : { |
| "action_id" : 1, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4", |
| "id" : 30, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 194, |
| "column" : 10, |
| "source_fragment" : "t_qos_v4" |
| }, |
| "key" : [ |
| { |
| "match_type" : "ternary", |
| "name" : "line_id", |
| "target" : ["scalars", "userMetadata._bng_line_id22"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "lpm", |
| "name" : "ipv4_src", |
| "target" : ["ipv4", "src_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "ipv4_dscp", |
| "target" : ["ipv4", "dscp"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "ipv4_ecn", |
| "target" : ["ipv4", "ecn"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 256, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [14, 15], |
| "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_bng238", |
| "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241" |
| }, |
| "default_entry" : { |
| "action_id" : 15, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_bng238", |
| "id" : 31, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 238, |
| "column" : 24, |
| "source_fragment" : "m_prio.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [52], |
| "actions" : ["bng238"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "bng238" : null |
| }, |
| "default_entry" : { |
| "action_id" : 52, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_bng241", |
| "id" : 32, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 241, |
| "column" : 24, |
| "source_fragment" : "m_besteff.execute_meter(fmeta.bng.line_id, fmeta.bng.ds_meter_result)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [53], |
| "actions" : ["bng241"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "bng241" : null |
| }, |
| "default_entry" : { |
| "action_id" : 53, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| } |
| ], |
| "action_profiles" : [ |
| { |
| "name" : "FabricIngress.next.hashed_selector", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 125, |
| "column" : 57, |
| "source_fragment" : "hashed_selector" |
| }, |
| "max_size" : 1024, |
| "selector" : { |
| "algo" : "crc16", |
| "input" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ipv4_src_addr19"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ipv4_dst_addr20"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._ip_proto16"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._l4_sport17"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._l4_dport18"] |
| } |
| ] |
| } |
| } |
| ], |
| "conditionals" : [ |
| { |
| "name" : "node_2", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 24, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_out.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["packet_out", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_packetio25", |
| "false_next" : "node_4" |
| }, |
| { |
| "name" : "node_4", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 112, |
| "column" : 12, |
| "source_fragment" : "hdr.vlan_tag.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["vlan_tag", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_filtering113", |
| "false_next" : "node_6" |
| }, |
| { |
| "name" : "node_6", |
| "id" : 2, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 118, |
| "column" : 12, |
| "source_fragment" : "hdr.inner_vlan_tag.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["inner_vlan_tag", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_filtering119", |
| "false_next" : "node_8" |
| }, |
| { |
| "name" : "node_8", |
| "id" : 3, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 124, |
| "column" : 12, |
| "source_fragment" : "!hdr.mpls.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["mpls", "$valid$"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "tbl_filtering129", |
| "false_next" : "FabricIngress.filtering.ingress_port_vlan" |
| }, |
| { |
| "name" : "node_12", |
| "id" : 4, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 71, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.skip_forwarding" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_forwarding10"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "node_13", |
| "false_next" : "node_19" |
| }, |
| { |
| "name" : "node_13", |
| "id" : 5, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 150, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._fwd_type12"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| }, |
| "true_next" : "FabricIngress.forwarding.bridging", |
| "false_next" : "node_15" |
| }, |
| { |
| "name" : "node_15", |
| "id" : 6, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 151, |
| "column" : 17, |
| "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._fwd_type12"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| }, |
| "true_next" : "FabricIngress.forwarding.mpls", |
| "false_next" : "node_17" |
| }, |
| { |
| "name" : "node_17", |
| "id" : 7, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 152, |
| "column" : 17, |
| "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._fwd_type12"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x02" |
| } |
| } |
| }, |
| "true_next" : "FabricIngress.forwarding.routing_v4", |
| "false_next" : "node_19" |
| }, |
| { |
| "name" : "node_19", |
| "id" : 8, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 74, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.skip_next" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_next11"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "FabricIngress.pre_next.next_mpls", |
| "false_next" : "tbl_acl27" |
| }, |
| { |
| "name" : "node_23", |
| "id" : 9, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 97, |
| "column" : 12, |
| "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "and", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["gtpu", "$valid$"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["inner_ipv4", "$valid$"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "tbl_acl98", |
| "false_next" : "node_29" |
| }, |
| { |
| "name" : "node_25", |
| "id" : 10, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 101, |
| "column" : 16, |
| "source_fragment" : "hdr.inner_tcp.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["inner_tcp", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_acl102", |
| "false_next" : "node_27" |
| }, |
| { |
| "name" : "node_27", |
| "id" : 11, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 104, |
| "column" : 23, |
| "source_fragment" : "hdr.inner_udp.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["inner_udp", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_acl105", |
| "false_next" : "FabricIngress.acl.acl" |
| }, |
| { |
| "name" : "node_29", |
| "id" : 12, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 108, |
| "column" : 19, |
| "source_fragment" : "hdr.ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_acl109", |
| "false_next" : "FabricIngress.acl.acl" |
| }, |
| { |
| "name" : "node_31", |
| "id" : 13, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 112, |
| "column" : 16, |
| "source_fragment" : "hdr.tcp.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["tcp", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_acl113", |
| "false_next" : "node_33" |
| }, |
| { |
| "name" : "node_33", |
| "id" : 14, |
| "source_info" : { |
| "filename" : "include/control/acl.p4", |
| "line" : 115, |
| "column" : 23, |
| "source_fragment" : "hdr.udp.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["udp", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_acl116", |
| "false_next" : "FabricIngress.acl.acl" |
| }, |
| { |
| "name" : "node_36", |
| "id" : 15, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 78, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.skip_next" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._skip_next11"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "FabricIngress.next.hashed", |
| "false_next" : "FabricIngress.bng_ingress.t_line_map" |
| }, |
| { |
| "name" : "node_39", |
| "id" : 16, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 30, |
| "column" : 12, |
| "source_fragment" : "standard_metadata.egress_spec < 511" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "<", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01ff" |
| } |
| } |
| }, |
| "true_next" : "tbl_port_counter31", |
| "false_next" : "node_41" |
| }, |
| { |
| "name" : "node_41", |
| "id" : 17, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 33, |
| "column" : 12, |
| "source_fragment" : "standard_metadata.ingress_port < 511" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "<", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01ff" |
| } |
| } |
| }, |
| "true_next" : "tbl_port_counter34", |
| "false_next" : "FabricIngress.bng_ingress.t_line_map" |
| }, |
| { |
| "name" : "node_44", |
| "id" : 18, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 341, |
| "column" : 16, |
| "source_fragment" : "hdr.pppoe.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["pppoe", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_bng342", |
| "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map" |
| }, |
| { |
| "name" : "node_48", |
| "id" : 19, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "bng_ingress_upstream_hasReturned"] |
| } |
| } |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "node_49" |
| }, |
| { |
| "name" : "node_49", |
| "id" : 20, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 128, |
| "column" : 12, |
| "source_fragment" : "hdr.ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4" |
| }, |
| { |
| "name" : "node_53", |
| "id" : 21, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 235, |
| "column" : 16, |
| "source_fragment" : "hdr.ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4" |
| } |
| ] |
| }, |
| { |
| "name" : "egress", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 96, |
| "column" : 8, |
| "source_fragment" : "FabricEgress" |
| }, |
| "init_table" : "node_59", |
| "tables" : [ |
| { |
| "name" : "tbl_packetio41", |
| "id" : 33, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 41, |
| "column" : 12, |
| "source_fragment" : "exit" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [62], |
| "actions" : ["packetio41"], |
| "base_default_next" : "node_61", |
| "next_tables" : { |
| "packetio41" : "node_61" |
| }, |
| "default_entry" : { |
| "action_id" : 62, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_packetio44", |
| "id" : 34, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 44, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_in.setValid(); ..." |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [63], |
| "actions" : ["packetio44"], |
| "base_default_next" : "node_63", |
| "next_tables" : { |
| "packetio44" : "node_63" |
| }, |
| "default_entry" : { |
| "action_id" : 63, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_next283", |
| "id" : 35, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 283, |
| "column" : 12, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [64], |
| "actions" : ["next283"], |
| "base_default_next" : "node_65", |
| "next_tables" : { |
| "next283" : "node_65" |
| }, |
| "default_entry" : { |
| "action_id" : 64, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_egress_next_pop_mpls_if_present", |
| "id" : 36, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 287, |
| "column" : 36, |
| "source_fragment" : "pop_mpls_if_present()" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [55], |
| "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"], |
| "base_default_next" : "node_69", |
| "next_tables" : { |
| "FabricEgress.egress_next.pop_mpls_if_present" : "node_69" |
| }, |
| "default_entry" : { |
| "action_id" : 55, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_egress_next_set_mpls", |
| "id" : 37, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 289, |
| "column" : 12, |
| "source_fragment" : "set_mpls()" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [56], |
| "actions" : ["FabricEgress.egress_next.set_mpls"], |
| "base_default_next" : "node_69", |
| "next_tables" : { |
| "FabricEgress.egress_next.set_mpls" : "node_69" |
| }, |
| "default_entry" : { |
| "action_id" : 56, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_egress_next_push_outer_vlan", |
| "id" : 38, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 295, |
| "column" : 12, |
| "source_fragment" : "push_outer_vlan()" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [57], |
| "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" : 57, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_egress_next_push_inner_vlan", |
| "id" : 39, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 296, |
| "column" : 12, |
| "source_fragment" : "push_inner_vlan()" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [58], |
| "actions" : ["FabricEgress.egress_next.push_inner_vlan"], |
| "base_default_next" : "node_74", |
| "next_tables" : { |
| "FabricEgress.egress_next.push_inner_vlan" : "node_74" |
| }, |
| "default_entry" : { |
| "action_id" : 58, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_next299", |
| "id" : 40, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 299, |
| "column" : 12, |
| "source_fragment" : "hdr.inner_vlan_tag.setInvalid()" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [65], |
| "actions" : ["next299"], |
| "base_default_next" : "FabricEgress.egress_next.egress_vlan", |
| "next_tables" : { |
| "next299" : "FabricEgress.egress_next.egress_vlan" |
| }, |
| "default_entry" : { |
| "action_id" : 65, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "FabricEgress.egress_next.egress_vlan", |
| "id" : 41, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 265, |
| "column" : 10, |
| "source_fragment" : "egress_vlan" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "vlan_id", |
| "target" : ["scalars", "userMetadata._vlan_id1"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "eg_port", |
| "target" : ["standard_metadata", "egress_port"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [59, 60, 61], |
| "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"], |
| "base_default_next" : "node_74", |
| "next_tables" : { |
| "FabricEgress.egress_next.push_vlan" : "node_74", |
| "FabricEgress.egress_next.pop_vlan" : "node_74", |
| "FabricEgress.egress_next.drop" : "node_74" |
| }, |
| "default_entry" : { |
| "action_id" : 61, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_next309", |
| "id" : 42, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 309, |
| "column" : 25, |
| "source_fragment" : "=" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [67], |
| "actions" : ["next309"], |
| "base_default_next" : "node_76", |
| "next_tables" : { |
| "next309" : "node_76" |
| }, |
| "default_entry" : { |
| "action_id" : 67, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_next310", |
| "id" : 43, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 310, |
| "column" : 35, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [66], |
| "actions" : ["next310"], |
| "base_default_next" : "node_82", |
| "next_tables" : { |
| "next310" : "node_82" |
| }, |
| "default_entry" : { |
| "action_id" : 66, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_next313", |
| "id" : 44, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 313, |
| "column" : 29, |
| "source_fragment" : "=" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [69], |
| "actions" : ["next313"], |
| "base_default_next" : "node_80", |
| "next_tables" : { |
| "next313" : "node_80" |
| }, |
| "default_entry" : { |
| "action_id" : 69, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_next314", |
| "id" : 45, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 314, |
| "column" : 39, |
| "source_fragment" : "mark_to_drop(standard_metadata)" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [68], |
| "actions" : ["next314"], |
| "base_default_next" : "node_82", |
| "next_tables" : { |
| "next314" : "node_82" |
| }, |
| "default_entry" : { |
| "action_id" : 68, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_bng_egress_downstream_encap_v4", |
| "id" : 46, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 297, |
| "column" : 12, |
| "source_fragment" : "encap_v4()" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [54], |
| "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "FabricEgress.bng_egress.downstream.encap_v4" : null |
| }, |
| "default_entry" : { |
| "action_id" : 54, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| } |
| ], |
| "action_profiles" : [], |
| "conditionals" : [ |
| { |
| "name" : "node_59", |
| "id" : 22, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 108, |
| "column" : 33, |
| "source_fragment" : "fabric_metadata" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._is_controller_packet_out15"] |
| } |
| } |
| }, |
| "true_next" : "tbl_packetio41", |
| "false_next" : "node_61" |
| }, |
| { |
| "name" : "node_61", |
| "id" : 23, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 43, |
| "column" : 12, |
| "source_fragment" : "standard_metadata.egress_port == 255" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00ff" |
| } |
| } |
| }, |
| "true_next" : "tbl_packetio44", |
| "false_next" : "node_63" |
| }, |
| { |
| "name" : "node_63", |
| "id" : 24, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 281, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.is_multicast == true ..." |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "and", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._is_multicast14"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "tbl_next283", |
| "false_next" : "node_65" |
| }, |
| { |
| "name" : "node_65", |
| "id" : 25, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 286, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.mpls_label == 0" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._mpls_label8"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x000000" |
| } |
| } |
| }, |
| "true_next" : "node_66", |
| "false_next" : "tbl_egress_next_set_mpls" |
| }, |
| { |
| "name" : "node_66", |
| "id" : 26, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 287, |
| "column" : 16, |
| "source_fragment" : "hdr.mpls.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["mpls", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_egress_next_pop_mpls_if_present", |
| "false_next" : "node_69" |
| }, |
| { |
| "name" : "node_69", |
| "id" : 27, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 109, |
| "column" : 31, |
| "source_fragment" : "fabric_metadata" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._push_double_vlan4"] |
| } |
| } |
| }, |
| "true_next" : "tbl_egress_next_push_outer_vlan", |
| "false_next" : "tbl_next299" |
| }, |
| { |
| "name" : "node_74", |
| "id" : 28, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 308, |
| "column" : 12, |
| "source_fragment" : "hdr.mpls.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["mpls", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_next309", |
| "false_next" : "node_78" |
| }, |
| { |
| "name" : "node_76", |
| "id" : 29, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 310, |
| "column" : 16, |
| "source_fragment" : "hdr.mpls.ttl == 0" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| }, |
| "true_next" : "tbl_next310", |
| "false_next" : "node_82" |
| }, |
| { |
| "name" : "node_78", |
| "id" : 30, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 312, |
| "column" : 15, |
| "source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "and", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "!=", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._fwd_type12"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "tbl_next313", |
| "false_next" : "node_82" |
| }, |
| { |
| "name" : "node_80", |
| "id" : 31, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 314, |
| "column" : 20, |
| "source_fragment" : "hdr.ipv4.ttl == 0" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["ipv4", "ttl"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| }, |
| "true_next" : "tbl_next314", |
| "false_next" : "node_82" |
| }, |
| { |
| "name" : "node_82", |
| "id" : 32, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 358, |
| "column" : 12, |
| "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "userMetadata._bng_type21"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x02" |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "node_83" |
| }, |
| { |
| "name" : "node_83", |
| "id" : 33, |
| "source_info" : { |
| "filename" : "include/bng.p4", |
| "line" : 296, |
| "column" : 12, |
| "source_fragment" : "hdr.ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "tbl_bng_egress_downstream_encap_v4" |
| } |
| ] |
| } |
| ], |
| "checksums" : [ |
| { |
| "name" : "cksum", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/checksum.p4", |
| "line" : 28, |
| "column" : 8, |
| "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..." |
| }, |
| "target" : ["ipv4", "hdr_checksum"], |
| "type" : "generic", |
| "calculation" : "calc", |
| "verify" : false, |
| "update" : true, |
| "if_cond" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| } |
| }, |
| { |
| "name" : "cksum_0", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/checksum.p4", |
| "line" : 57, |
| "column" : 8, |
| "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..." |
| }, |
| "target" : ["ipv4", "hdr_checksum"], |
| "type" : "generic", |
| "calculation" : "calc_0", |
| "verify" : true, |
| "update" : false, |
| "if_cond" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| } |
| } |
| ], |
| "force_arith" : [], |
| "extern_instances" : [], |
| "field_aliases" : [ |
| [ |
| "queueing_metadata.enq_timestamp", |
| ["standard_metadata", "enq_timestamp"] |
| ], |
| [ |
| "queueing_metadata.enq_qdepth", |
| ["standard_metadata", "enq_qdepth"] |
| ], |
| [ |
| "queueing_metadata.deq_timedelta", |
| ["standard_metadata", "deq_timedelta"] |
| ], |
| [ |
| "queueing_metadata.deq_qdepth", |
| ["standard_metadata", "deq_qdepth"] |
| ], |
| [ |
| "intrinsic_metadata.ingress_global_timestamp", |
| ["standard_metadata", "ingress_global_timestamp"] |
| ], |
| [ |
| "intrinsic_metadata.egress_global_timestamp", |
| ["standard_metadata", "egress_global_timestamp"] |
| ], |
| [ |
| "intrinsic_metadata.mcast_grp", |
| ["standard_metadata", "mcast_grp"] |
| ], |
| [ |
| "intrinsic_metadata.egress_rid", |
| ["standard_metadata", "egress_rid"] |
| ], |
| [ |
| "intrinsic_metadata.priority", |
| ["standard_metadata", "priority"] |
| ] |
| ], |
| "program" : "fabric.p4", |
| "__meta__" : { |
| "version" : [2, 23], |
| "compiler" : "https://github.com/p4lang/p4c" |
| } |
| } |