{ | |
"header_types" : [ | |
{ | |
"name" : "scalars_0", | |
"id" : 0, | |
"fields" : [ | |
["last_ipv4_dscp_0", 6, false], | |
["tmp_0", 16, false], | |
["tmp_1", 16, false], | |
["tmp_2", 4, false], | |
["tmp", 32, false], | |
["tmp_3", 32, false], | |
["tmp_4", 32, false], | |
["bng_ingress_upstream_tmp", 1, false], | |
["bng_ingress_downstream_tmp", 1, false], | |
["spgw_tmp", 1, false], | |
["bng_ingress_upstream_hasReturned", 1, false], | |
["key_0", 64, false], | |
["process_int_main_process_int_transit_hasReturned", 1, false], | |
["fabric_metadata_t._ip_eth_type0", 16, false], | |
["fabric_metadata_t._vlan_id1", 12, false], | |
["fabric_metadata_t._vlan_pri2", 3, false], | |
["fabric_metadata_t._vlan_cfi3", 1, false], | |
["fabric_metadata_t._push_double_vlan4", 1, false], | |
["fabric_metadata_t._inner_vlan_id5", 12, false], | |
["fabric_metadata_t._inner_vlan_pri6", 3, false], | |
["fabric_metadata_t._inner_vlan_cfi7", 1, false], | |
["fabric_metadata_t._mpls_label8", 20, false], | |
["fabric_metadata_t._mpls_ttl9", 8, false], | |
["fabric_metadata_t._skip_forwarding10", 1, false], | |
["fabric_metadata_t._skip_next11", 1, false], | |
["fabric_metadata_t._fwd_type12", 3, false], | |
["fabric_metadata_t._next_id13", 32, false], | |
["fabric_metadata_t._is_multicast14", 1, false], | |
["fabric_metadata_t._is_controller_packet_out15", 1, false], | |
["fabric_metadata_t._ip_proto16", 8, false], | |
["fabric_metadata_t._l4_sport17", 16, false], | |
["fabric_metadata_t._l4_dport18", 16, false], | |
["fabric_metadata_t._ipv4_src_addr19", 32, false], | |
["fabric_metadata_t._ipv4_dst_addr20", 32, false], | |
["fabric_metadata_t._inner_l4_sport21", 16, false], | |
["fabric_metadata_t._inner_l4_dport22", 16, false], | |
["fabric_metadata_t._spgw_ipv4_len23", 16, false], | |
["fabric_metadata_t._spgw_teid24", 32, false], | |
["fabric_metadata_t._spgw_tunnel_src_port25", 16, false], | |
["fabric_metadata_t._spgw_tunnel_src_addr26", 32, false], | |
["fabric_metadata_t._spgw_tunnel_dst_addr27", 32, false], | |
["fabric_metadata_t._spgw_ctr_id28", 32, false], | |
["fabric_metadata_t._spgw_far_id29", 32, false], | |
["fabric_metadata_t._spgw_src_iface30", 8, false], | |
["fabric_metadata_t._spgw_skip_spgw31", 1, false], | |
["fabric_metadata_t._spgw_notify_spgwc32", 1, false], | |
["fabric_metadata_t._spgw_needs_gtpu_encap33", 1, false], | |
["fabric_metadata_t._spgw_needs_gtpu_decap34", 1, false], | |
["fabric_metadata_t._spgw_skip_egress_pdr_ctr35", 1, false], | |
["fabric_metadata_t._bng_type36", 2, false], | |
["fabric_metadata_t._bng_line_id37", 32, false], | |
["fabric_metadata_t._bng_pppoe_session_id38", 16, false], | |
["fabric_metadata_t._bng_ds_meter_result39", 32, false], | |
["fabric_metadata_t._bng_s_tag40", 12, false], | |
["fabric_metadata_t._bng_c_tag41", 12, false], | |
["fabric_metadata_t._int_meta_source42", 1, false], | |
["fabric_metadata_t._int_meta_transit43", 1, false], | |
["fabric_metadata_t._int_meta_sink44", 1, false], | |
["fabric_metadata_t._int_meta_switch_id45", 32, false], | |
["fabric_metadata_t._int_meta_new_words46", 8, false], | |
["fabric_metadata_t._int_meta_new_bytes47", 16, false], | |
["fabric_metadata_t._int_meta_ig_tstamp48", 32, false], | |
["fabric_metadata_t._int_meta_eg_tstamp49", 32, false], | |
["_padding_0", 3, false] | |
] | |
}, | |
{ | |
"name" : "standard_metadata", | |
"id" : 1, | |
"fields" : [ | |
["ingress_port", 9, false], | |
["egress_spec", 9, false], | |
["egress_port", 9, false], | |
["clone_spec", 32, false], | |
["instance_type", 32, false], | |
["drop", 1, false], | |
["recirculate_port", 16, false], | |
["packet_length", 32, false], | |
["enq_timestamp", 32, false], | |
["enq_qdepth", 19, false], | |
["deq_timedelta", 32, false], | |
["deq_qdepth", 19, false], | |
["ingress_global_timestamp", 48, false], | |
["egress_global_timestamp", 48, false], | |
["lf_field_list", 32, false], | |
["mcast_grp", 16, false], | |
["resubmit_flag", 32, false], | |
["egress_rid", 16, false], | |
["recirculate_flag", 32, false], | |
["checksum_error", 1, false], | |
["parser_error", 32, false], | |
["priority", 3, false], | |
["_padding", 2, false] | |
] | |
}, | |
{ | |
"name" : "ethernet_t", | |
"id" : 2, | |
"fields" : [ | |
["dst_addr", 48, false], | |
["src_addr", 48, false] | |
] | |
}, | |
{ | |
"name" : "vlan_tag_t", | |
"id" : 3, | |
"fields" : [ | |
["eth_type", 16, false], | |
["pri", 3, false], | |
["cfi", 1, false], | |
["vlan_id", 12, false] | |
] | |
}, | |
{ | |
"name" : "eth_type_t", | |
"id" : 4, | |
"fields" : [ | |
["value", 16, false] | |
] | |
}, | |
{ | |
"name" : "pppoe_t", | |
"id" : 5, | |
"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" : 6, | |
"fields" : [ | |
["label", 20, false], | |
["tc", 3, false], | |
["bos", 1, false], | |
["ttl", 8, false] | |
] | |
}, | |
{ | |
"name" : "ipv4_t", | |
"id" : 7, | |
"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" : 8, | |
"fields" : [ | |
["sport", 16, false], | |
["dport", 16, false], | |
["len", 16, false], | |
["checksum", 16, false] | |
] | |
}, | |
{ | |
"name" : "gtpu_t", | |
"id" : 9, | |
"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" : "tcp_t", | |
"id" : 10, | |
"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" : 11, | |
"fields" : [ | |
["icmp_type", 8, false], | |
["icmp_code", 8, false], | |
["checksum", 16, false], | |
["identifier", 16, false], | |
["sequence_number", 16, false], | |
["timestamp", 64, false] | |
] | |
}, | |
{ | |
"name" : "ipv6_t", | |
"id" : 12, | |
"fields" : [ | |
["version", 4, false], | |
["traffic_class", 8, false], | |
["flow_label", 20, false], | |
["payload_len", 16, false], | |
["next_hdr", 8, false], | |
["hop_limit", 8, false], | |
["src_addr", 128, false], | |
["dst_addr", 128, false] | |
] | |
}, | |
{ | |
"name" : "packet_out_header_t", | |
"id" : 13, | |
"fields" : [ | |
["egress_port", 9, false], | |
["_pad", 7, false] | |
] | |
}, | |
{ | |
"name" : "packet_in_header_t", | |
"id" : 14, | |
"fields" : [ | |
["ingress_port", 9, false], | |
["_pad", 7, false] | |
] | |
}, | |
{ | |
"name" : "report_fixed_header_t", | |
"id" : 15, | |
"fields" : [ | |
["ver", 4, false], | |
["nproto", 4, false], | |
["d", 1, false], | |
["q", 1, false], | |
["f", 1, false], | |
["rsvd", 15, false], | |
["hw_id", 6, false], | |
["seq_no", 32, false], | |
["ingress_tstamp", 32, false] | |
] | |
}, | |
{ | |
"name" : "intl4_shim_t", | |
"id" : 16, | |
"fields" : [ | |
["int_type", 8, false], | |
["rsvd1", 8, false], | |
["len_words", 8, false], | |
["rsvd2", 8, false] | |
] | |
}, | |
{ | |
"name" : "int_header_t", | |
"id" : 17, | |
"fields" : [ | |
["ver", 2, false], | |
["rep", 2, false], | |
["c", 1, false], | |
["e", 1, false], | |
["rsvd1", 5, false], | |
["ins_cnt", 5, false], | |
["max_hop_cnt", 8, false], | |
["total_hop_cnt", 8, false], | |
["instruction_mask_0003", 4, false], | |
["instruction_mask_0407", 4, false], | |
["instruction_mask_0811", 4, false], | |
["instruction_mask_1215", 4, false], | |
["rsvd2", 16, false] | |
] | |
}, | |
{ | |
"name" : "int_switch_id_t", | |
"id" : 18, | |
"fields" : [ | |
["switch_id", 32, false] | |
] | |
}, | |
{ | |
"name" : "int_port_ids_t", | |
"id" : 19, | |
"fields" : [ | |
["ingress_port_id", 16, false], | |
["egress_port_id", 16, false] | |
] | |
}, | |
{ | |
"name" : "int_hop_latency_t", | |
"id" : 20, | |
"fields" : [ | |
["hop_latency", 32, false] | |
] | |
}, | |
{ | |
"name" : "int_q_occupancy_t", | |
"id" : 21, | |
"fields" : [ | |
["q_id", 8, false], | |
["q_occupancy", 24, false] | |
] | |
}, | |
{ | |
"name" : "int_ingress_tstamp_t", | |
"id" : 22, | |
"fields" : [ | |
["ingress_tstamp", 32, false] | |
] | |
}, | |
{ | |
"name" : "int_egress_tstamp_t", | |
"id" : 23, | |
"fields" : [ | |
["egress_tstamp", 32, false] | |
] | |
}, | |
{ | |
"name" : "int_q_congestion_t", | |
"id" : 24, | |
"fields" : [ | |
["q_id", 8, false], | |
["q_congestion", 24, false] | |
] | |
}, | |
{ | |
"name" : "int_egress_port_tx_util_t", | |
"id" : 25, | |
"fields" : [ | |
["egress_port_tx_util", 32, false] | |
] | |
}, | |
{ | |
"name" : "int_data_t", | |
"id" : 26, | |
"fields" : [ | |
["data", "*"] | |
], | |
"max_length" : 1004 | |
}, | |
{ | |
"name" : "intl4_tail_t", | |
"id" : 27, | |
"fields" : [ | |
["next_proto", 8, false], | |
["dest_port", 16, false], | |
["padding", 2, false], | |
["dscp", 6, false] | |
] | |
} | |
], | |
"headers" : [ | |
{ | |
"name" : "scalars", | |
"id" : 0, | |
"header_type" : "scalars_0", | |
"metadata" : true, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "standard_metadata", | |
"id" : 1, | |
"header_type" : "standard_metadata", | |
"metadata" : true, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "ethernet", | |
"id" : 2, | |
"header_type" : "ethernet_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "vlan_tag", | |
"id" : 3, | |
"header_type" : "vlan_tag_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "inner_vlan_tag", | |
"id" : 4, | |
"header_type" : "vlan_tag_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "eth_type", | |
"id" : 5, | |
"header_type" : "eth_type_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "pppoe", | |
"id" : 6, | |
"header_type" : "pppoe_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "mpls", | |
"id" : 7, | |
"header_type" : "mpls_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "gtpu_ipv4", | |
"id" : 8, | |
"header_type" : "ipv4_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "gtpu_udp", | |
"id" : 9, | |
"header_type" : "udp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "outer_gtpu", | |
"id" : 10, | |
"header_type" : "gtpu_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "gtpu", | |
"id" : 11, | |
"header_type" : "gtpu_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "inner_ipv4", | |
"id" : 12, | |
"header_type" : "ipv4_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "inner_udp", | |
"id" : 13, | |
"header_type" : "udp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "inner_tcp", | |
"id" : 14, | |
"header_type" : "tcp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "inner_icmp", | |
"id" : 15, | |
"header_type" : "icmp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "ipv4", | |
"id" : 16, | |
"header_type" : "ipv4_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "ipv6", | |
"id" : 17, | |
"header_type" : "ipv6_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "tcp", | |
"id" : 18, | |
"header_type" : "tcp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "udp", | |
"id" : 19, | |
"header_type" : "udp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "icmp", | |
"id" : 20, | |
"header_type" : "icmp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "packet_out", | |
"id" : 21, | |
"header_type" : "packet_out_header_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "packet_in", | |
"id" : 22, | |
"header_type" : "packet_in_header_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "report_ethernet", | |
"id" : 23, | |
"header_type" : "ethernet_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "report_eth_type", | |
"id" : 24, | |
"header_type" : "eth_type_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "report_ipv4", | |
"id" : 25, | |
"header_type" : "ipv4_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "report_udp", | |
"id" : 26, | |
"header_type" : "udp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "report_fixed_header", | |
"id" : 27, | |
"header_type" : "report_fixed_header_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "intl4_shim", | |
"id" : 28, | |
"header_type" : "intl4_shim_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_header", | |
"id" : 29, | |
"header_type" : "int_header_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_switch_id", | |
"id" : 30, | |
"header_type" : "int_switch_id_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_port_ids", | |
"id" : 31, | |
"header_type" : "int_port_ids_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_hop_latency", | |
"id" : 32, | |
"header_type" : "int_hop_latency_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_q_occupancy", | |
"id" : 33, | |
"header_type" : "int_q_occupancy_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_ingress_tstamp", | |
"id" : 34, | |
"header_type" : "int_ingress_tstamp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_egress_tstamp", | |
"id" : 35, | |
"header_type" : "int_egress_tstamp_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_q_congestion", | |
"id" : 36, | |
"header_type" : "int_q_congestion_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_egress_tx_util", | |
"id" : 37, | |
"header_type" : "int_egress_port_tx_util_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "int_data", | |
"id" : 38, | |
"header_type" : "int_data_t", | |
"metadata" : false, | |
"pi_omit" : true | |
}, | |
{ | |
"name" : "intl4_tail", | |
"id" : 39, | |
"header_type" : "intl4_tail_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" : 46, | |
"column" : 40, | |
"source_fragment" : "{standard_metadata.ingress_port}" | |
}, | |
"elements" : [ | |
{ | |
"type" : "field", | |
"value" : ["standard_metadata", "ingress_port"] | |
} | |
] | |
}, | |
{ | |
"id" : 2, | |
"name" : "fl_0", | |
"source_info" : { | |
"filename" : "include/int/int_main.p4", | |
"line" : 89, | |
"column" : 60, | |
"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" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "last_ipv4_dscp_0"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x00" | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x00ff", | |
"mask" : null, | |
"next_state" : "parse_packet_out" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_ethernet" | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["standard_metadata", "ingress_port"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_packet_out", | |
"id" : 1, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "packet_out" | |
} | |
], | |
"op" : "extract" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_ethernet" | |
} | |
], | |
"transition_key" : [] | |
}, | |
{ | |
"name" : "parse_ethernet", | |
"id" : 2, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "ethernet" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._vlan_id1"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x0ffe" | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp_0"] | |
}, | |
{ | |
"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" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_eth_type" | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp_0"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_vlan_tag", | |
"id" : 3, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "vlan_tag" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._bng_s_tag40"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["vlan_tag", "vlan_id"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp_1"] | |
}, | |
{ | |
"type" : "lookahead", | |
"value" : [0, 16] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x8100", | |
"mask" : null, | |
"next_state" : "parse_inner_vlan_tag" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_eth_type" | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp_1"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_inner_vlan_tag", | |
"id" : 4, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "inner_vlan_tag" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._bng_c_tag41"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["inner_vlan_tag", "vlan_id"] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_eth_type" | |
} | |
], | |
"transition_key" : [] | |
}, | |
{ | |
"name" : "parse_eth_type", | |
"id" : 5, | |
"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" : "0x86dd", | |
"mask" : null, | |
"next_state" : "parse_ipv6" | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x8863", | |
"mask" : null, | |
"next_state" : "parse_pppoe" | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x8864", | |
"mask" : null, | |
"next_state" : "parse_pppoe" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["eth_type", "value"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_pppoe", | |
"id" : 6, | |
"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" : "hexstr", | |
"value" : "0x0057", | |
"mask" : null, | |
"next_state" : "parse_ipv6" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["pppoe", "protocol"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_mpls", | |
"id" : 7, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "mpls" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._mpls_label8"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["mpls", "label"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._mpls_ttl9"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["mpls", "ttl"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp_2"] | |
}, | |
{ | |
"type" : "lookahead", | |
"value" : [0, 4] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x04", | |
"mask" : null, | |
"next_state" : "parse_ipv4" | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x06", | |
"mask" : null, | |
"next_state" : "parse_ipv6" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_ethernet" | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp_2"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_ipv4", | |
"id" : 8, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "ipv4" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._ip_proto16"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["ipv4", "protocol"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._ip_eth_type0"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x0800" | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._ipv4_src_addr19"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["ipv4", "src_addr"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._ipv4_dst_addr20"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["ipv4", "dst_addr"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "last_ipv4_dscp_0"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["ipv4", "dscp"] | |
} | |
], | |
"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" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["ipv4", "protocol"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_ipv6", | |
"id" : 9, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "ipv6" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._ip_proto16"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["ipv6", "next_hdr"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._ip_eth_type0"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x86dd" | |
} | |
], | |
"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" : "0x3a", | |
"mask" : null, | |
"next_state" : "parse_icmp" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["ipv6", "next_hdr"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_tcp", | |
"id" : 10, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "tcp" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._l4_sport17"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["tcp", "sport"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._l4_dport18"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["tcp", "dport"] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_int" | |
} | |
], | |
"transition_key" : [] | |
}, | |
{ | |
"name" : "parse_udp", | |
"id" : 11, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "udp" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._l4_sport17"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["udp", "sport"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._l4_dport18"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["udp", "dport"] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x0868", | |
"mask" : null, | |
"next_state" : "parse_gtpu" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_int" | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["udp", "dport"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_icmp", | |
"id" : 12, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "icmp" | |
} | |
], | |
"op" : "extract" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [] | |
}, | |
{ | |
"name" : "parse_gtpu", | |
"id" : 13, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "gtpu" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "inner_ipv4" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "last_ipv4_dscp_0"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["inner_ipv4", "dscp"] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x06", | |
"mask" : null, | |
"next_state" : "parse_tcp" | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x11", | |
"mask" : null, | |
"next_state" : "parse_inner_udp" | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x01", | |
"mask" : null, | |
"next_state" : "parse_icmp" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["inner_ipv4", "protocol"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_inner_udp", | |
"id" : 14, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "inner_udp" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._inner_l4_sport21"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["inner_udp", "sport"] | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._inner_l4_dport22"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["inner_udp", "dport"] | |
} | |
], | |
"op" : "set" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_int" | |
} | |
], | |
"transition_key" : [] | |
}, | |
{ | |
"name" : "parse_int", | |
"id" : 15, | |
"parser_ops" : [], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x01", | |
"mask" : "0x01", | |
"next_state" : "parse_intl4_shim" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "last_ipv4_dscp_0"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_intl4_shim", | |
"id" : 16, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "intl4_shim" | |
} | |
], | |
"op" : "extract" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "int_header" | |
} | |
], | |
"op" : "extract" | |
} | |
], | |
"transitions" : [ | |
{ | |
"type" : "hexstr", | |
"value" : "0x04", | |
"mask" : null, | |
"next_state" : "parse_intl4_tail" | |
}, | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_int_data" | |
} | |
], | |
"transition_key" : [ | |
{ | |
"type" : "field", | |
"value" : ["intl4_shim", "len_words"] | |
} | |
] | |
}, | |
{ | |
"name" : "parse_int_data", | |
"id" : 17, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "tmp"] | |
}, | |
{ | |
"type" : "expression", | |
"value" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "&", | |
"left" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "<<", | |
"left" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "&", | |
"left" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "&", | |
"left" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "+", | |
"left" : { | |
"type" : "field", | |
"value" : ["intl4_shim", "len_words"] | |
}, | |
"right" : { | |
"type" : "hexstr", | |
"value" : "0xfc" | |
} | |
} | |
}, | |
"right" : { | |
"type" : "hexstr", | |
"value" : "0xff" | |
} | |
} | |
}, | |
"right" : { | |
"type" : "hexstr", | |
"value" : "0xffffffff" | |
} | |
} | |
}, | |
"right" : { | |
"type" : "hexstr", | |
"value" : "0x5" | |
} | |
} | |
}, | |
"right" : { | |
"type" : "hexstr", | |
"value" : "0xffffffff" | |
} | |
} | |
} | |
} | |
], | |
"op" : "set" | |
}, | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "int_data" | |
}, | |
{ | |
"type" : "expression", | |
"value" : { | |
"type" : "field", | |
"value" : ["scalars", "tmp"] | |
} | |
} | |
], | |
"op" : "extract_VL" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : "parse_intl4_tail" | |
} | |
], | |
"transition_key" : [] | |
}, | |
{ | |
"name" : "parse_intl4_tail", | |
"id" : 18, | |
"parser_ops" : [ | |
{ | |
"parameters" : [ | |
{ | |
"type" : "regular", | |
"value" : "intl4_tail" | |
} | |
], | |
"op" : "extract" | |
} | |
], | |
"transitions" : [ | |
{ | |
"value" : "default", | |
"mask" : null, | |
"next_state" : null | |
} | |
], | |
"transition_key" : [] | |
} | |
] | |
} | |
], | |
"parse_vsets" : [], | |
"deparsers" : [ | |
{ | |
"name" : "deparser", | |
"id" : 0, | |
"source_info" : { | |
"filename" : "include/parser.p4", | |
"line" : 268, | |
"column" : 8, | |
"source_fragment" : "FabricDeparser" | |
}, | |
"order" : ["packet_in", "report_ethernet", "report_eth_type", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "ipv6", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "int_data", "intl4_tail"] | |
} | |
], | |
"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.process_set_source_sink.counter_set_source", | |
"id" : 0, | |
"is_direct" : true, | |
"binding" : "FabricIngress.process_set_source_sink.tb_set_source", | |
"source_info" : { | |
"filename" : "include/int/int_main.p4", | |
"line" : 39, | |
"column" : 50, | |
"source_fragment" : "counter_set_source" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.process_set_source_sink.counter_set_sink", | |
"id" : 1, | |
"is_direct" : true, | |
"binding" : "FabricIngress.process_set_source_sink.tb_set_sink", | |
"source_info" : { | |
"filename" : "include/int/int_main.p4", | |
"line" : 60, | |
"column" : 50, | |
"source_fragment" : "counter_set_sink" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.bng_ingress.upstream.c_terminated", | |
"id" : 2, | |
"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" : 3, | |
"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" : 4, | |
"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" : 5, | |
"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" : 6, | |
"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" : 7, | |
"is_direct" : true, | |
"binding" : "FabricIngress.filtering.fwd_classifier", | |
"source_info" : { | |
"filename" : "include/control/filtering.p4", | |
"line" : 85, | |
"column" : 50, | |
"source_fragment" : "fwd_classifier_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.forwarding.bridging_counter", | |
"id" : 8, | |
"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" : 9, | |
"is_direct" : true, | |
"binding" : "FabricIngress.forwarding.mpls", | |
"source_info" : { | |
"filename" : "include/control/forwarding.p4", | |
"line" : 63, | |
"column" : 50, | |
"source_fragment" : "mpls_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.forwarding.routing_v6_counter", | |
"id" : 10, | |
"is_direct" : true, | |
"binding" : "FabricIngress.forwarding.routing_v6", | |
"source_info" : { | |
"filename" : "include/control/forwarding.p4", | |
"line" : 128, | |
"column" : 50, | |
"source_fragment" : "routing_v6_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.acl.acl_counter", | |
"id" : 11, | |
"is_direct" : true, | |
"binding" : "FabricIngress.acl.acl", | |
"source_info" : { | |
"filename" : "include/control/acl.p4", | |
"line" : 30, | |
"column" : 50, | |
"source_fragment" : "acl_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.next.next_vlan_counter", | |
"id" : 12, | |
"is_direct" : true, | |
"binding" : "FabricIngress.next.next_vlan", | |
"source_info" : { | |
"filename" : "include/control/next.p4", | |
"line" : 67, | |
"column" : 50, | |
"source_fragment" : "next_vlan_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.next.xconnect_counter", | |
"id" : 13, | |
"is_direct" : true, | |
"binding" : "FabricIngress.next.xconnect", | |
"source_info" : { | |
"filename" : "include/control/next.p4", | |
"line" : 107, | |
"column" : 50, | |
"source_fragment" : "xconnect_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.next.simple_counter", | |
"id" : 14, | |
"is_direct" : true, | |
"binding" : "FabricIngress.next.simple", | |
"source_info" : { | |
"filename" : "include/control/next.p4", | |
"line" : 140, | |
"column" : 50, | |
"source_fragment" : "simple_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.next.hashed_counter", | |
"id" : 15, | |
"is_direct" : true, | |
"binding" : "FabricIngress.next.hashed", | |
"source_info" : { | |
"filename" : "include/control/next.p4", | |
"line" : 184, | |
"column" : 50, | |
"source_fragment" : "hashed_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.next.multicast_counter", | |
"id" : 16, | |
"is_direct" : true, | |
"binding" : "FabricIngress.next.multicast", | |
"source_info" : { | |
"filename" : "include/control/next.p4", | |
"line" : 228, | |
"column" : 50, | |
"source_fragment" : "multicast_counter" | |
} | |
}, | |
{ | |
"name" : "FabricIngress.port_counters_control.egress_port_counter", | |
"id" : 17, | |
"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" : 18, | |
"source_info" : { | |
"filename" : "include/control/port_counter.p4", | |
"line" : 27, | |
"column" : 48, | |
"source_fragment" : "ingress_port_counter" | |
}, | |
"size" : 511, | |
"is_direct" : false | |
}, | |
{ | |
"name" : "FabricIngress.spgw.pdr_counter", | |
"id" : 19, | |
"source_info" : { | |
"filename" : "include/control/spgw.p4", | |
"line" : 109, | |
"column" : 53, | |
"source_fragment" : "pdr_counter" | |
}, | |
"size" : 2048, | |
"is_direct" : false | |
}, | |
{ | |
"name" : "FabricEgress.bng_egress.downstream.c_line_tx", | |
"id" : 20, | |
"source_info" : { | |
"filename" : "include/bng.p4", | |
"line" : 267, | |
"column" : 37, | |
"source_fragment" : "c_line_tx" | |
}, | |
"size" : 8192, | |
"is_direct" : false | |
}, | |
{ | |
"name" : "FabricEgress.process_int_main.process_int_source.counter_int_source", | |
"id" : 21, | |
"is_direct" : true, | |
"binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source", | |
"source_info" : { | |
"filename" : "include/int/int_source.p4", | |
"line" : 27, | |
"column" : 50, | |
"source_fragment" : "counter_int_source" | |
} | |
}, | |
{ | |
"name" : "FabricEgress.egress_next.egress_vlan_counter", | |
"id" : 22, | |
"is_direct" : true, | |
"binding" : "FabricEgress.egress_next.egress_vlan", | |
"source_info" : { | |
"filename" : "include/control/next.p4", | |
"line" : 314, | |
"column" : 50, | |
"source_fragment" : "egress_vlan_counter" | |
} | |
}, | |
{ | |
"name" : "FabricEgress.spgw.pdr_counter", | |
"id" : 23, | |
"source_info" : { | |
"filename" : "include/control/spgw.p4", | |
"line" : 296, | |
"column" : 53, | |
"source_fragment" : "pdr_counter" | |
}, | |
"size" : 2048, | |
"is_direct" : false | |
} | |
], | |
"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/control/spgw.p4", | |
"line" : 359, | |
"column" : 8, | |
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..." | |
}, | |
"algo" : "csum16", | |
"input" : [ | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "version"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "ihl"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "dscp"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "ecn"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "total_len"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "identification"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "flags"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "frag_offset"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "ttl"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "protocol"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "src_addr"] | |
}, | |
{ | |
"type" : "field", | |
"value" : ["gtpu_ipv4", "dst_addr"] | |
} | |
] | |
}, | |
{ | |
"name" : "calc_1", | |
"id" : 2, | |
"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" : "nop", | |
"id" : 9, | |
"runtime_data" : [], | |
"primitives" : [] | |
}, | |
{ | |
"name" : "nop", | |
"id" : 10, | |
"runtime_data" : [], | |
"primitives" : [] | |
}, | |
{ | |
"name" : "nop", | |
"id" : 11, | |
"runtime_data" : [], | |
"primitives" : [] | |
}, | |
{ | |
"name" : "nop", | |
"id" : 12, | |
"runtime_data" : [], | |
"primitives" : [] | |
}, | |
{ | |
"name" : "NoAction", | |
"id" : 13, | |
"runtime_data" : [], | |
"primitives" : [] | |
}, | |
{ | |
"name" : "NoAction", | |
"id" : 14, | |
"runtime_data" : [], | |
"primitives" : [] | |
}, | |
{ | |
"name" : "FabricIngress.process_set_source_sink.int_set_source", | |
"id" : 15, | |
"runtime_data" : [], | |
"primitives" : [ | |
{ | |
"op" : "assign", | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._int_meta_source42"] | |
}, | |
{ | |
"type" : "expression", | |
"value" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "b2d", | |
"left" : null, | |
"right" : { | |
"type" : "bool", | |
"value" : true | |
} | |
} | |
} | |
} | |
], | |
"source_info" : { | |
"filename" : "include/int/int_main.p4", | |
"line" : 42, | |
"column" : 40, | |
"source_fragment" : "= true; ..." | |
} | |
} | |
] | |
}, | |
{ | |
"name" : "FabricIngress.process_set_source_sink.int_set_sink", | |
"id" : 16, | |
"runtime_data" : [], | |
"primitives" : [ | |
{ | |
"op" : "assign", | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._int_meta_sink44"] | |
}, | |
{ | |
"type" : "expression", | |
"value" : { | |
"type" : "expression", | |
"value" : { | |
"op" : "b2d", | |
"left" : null, | |
"right" : { | |
"type" : "bool", | |
"value" : true | |
} | |
} | |
} | |
} | |
], | |
"source_info" : { | |
"filename" : "include/int/int_main.p4", | |
"line" : 63, | |
"column" : 38, | |
"source_fragment" : "= true; ..." | |
} | |
} | |
] | |
}, | |
{ | |
"name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu", | |
"id" : 17, | |
"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", "fabric_metadata_t._bng_line_id37"] | |
} | |
], | |
"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" : 18, | |
"runtime_data" : [], | |
"primitives" : [ | |
{ | |
"op" : "assign", | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._bng_type36"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x00" | |
} | |
], | |
"source_info" : { | |
"filename" : "include/control/../header.p4", | |
"line" : 161, | |
"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_disabled", | |
"id" : 19, | |
"runtime_data" : [], | |
"primitives" : [ | |
{ | |
"op" : "assign", | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["scalars", "fabric_metadata_t._bng_type36"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x00" | |
} | |
], | |
"source_info" : { | |
"filename" : "include/control/../header.p4", | |
"line" : 161, | |
"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" : 20, | |
"runtime_data" : [], | |
"primitives" : [ | |
{ | |
"op" : "assign", | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["eth_type", "value"] | |
}, | |
{ | |
"type" : "hexstr", | |
"value" : "0x0800" | |
} | |
], | |
"source_info" : { | |
"filename" : "include/control/../define.p4", | |
"line" : 119, | |
"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", "fabric_metadata_t._bng_line_id37"] | |
} | |
], | |
"source_info" : { | |
"filename" : "include/bng.p4", | |
"line" : 72, | |
"column" : 8, | |
"source_fragment" : "c_terminated.count(fmeta.bng.line_id)" | |
} | |
} | |
] | |
}, | |
{ | |
"name" : "FabricIngress.bng_ingress.upstream.term_enabled_v6", | |
"id" : 21, | |
"runtime_data" : [], | |
"primitives" : [ | |
{ | |
"op" : "assign", | |
"parameters" : [ | |
{ | |
"type" : "field", | |
"value" : ["eth_type", " |