| { |
| "program" : "fabric.p4", |
| "__meta__" : { |
| "version" : [2, 7], |
| "compiler" : "https://github.com/p4lang/p4c" |
| }, |
| "header_types" : [ |
| { |
| "name" : "scalars_0", |
| "id" : 0, |
| "fields" : [ |
| ["last_ipv4_dscp", 6, false], |
| ["tmp", 4, false], |
| ["tmp_0", 32, false], |
| ["tmp_1", 32, false], |
| ["spgw_ingress_tmp_2", 1, false], |
| ["spgw_ingress_tmp_3", 1, false], |
| ["spgw_ingress_tmp_4", 1, false], |
| ["next_tmp_0", 1, false], |
| ["spgw_ingress_hasReturned_0", 1, false], |
| ["fabric_metadata_t.fwd_type", 3, false], |
| ["fabric_metadata_t.next_id", 32, false], |
| ["fabric_metadata_t.pop_vlan_at_egress", 1, false], |
| ["fabric_metadata_t.ip_proto", 8, false], |
| ["fabric_metadata_t.l4_src_port", 16, false], |
| ["fabric_metadata_t.l4_dst_port", 16, false], |
| ["fabric_metadata_t.original_ether_type", 16, false], |
| ["_padding_2", 5, false] |
| ] |
| }, |
| { |
| "name" : "ethernet_t", |
| "id" : 1, |
| "fields" : [ |
| ["dst_addr", 48, false], |
| ["src_addr", 48, false], |
| ["ether_type", 16, false] |
| ] |
| }, |
| { |
| "name" : "vlan_tag_t", |
| "id" : 2, |
| "fields" : [ |
| ["pri", 3, false], |
| ["cfi", 1, false], |
| ["vlan_id", 12, false], |
| ["ether_type", 16, false] |
| ] |
| }, |
| { |
| "name" : "mpls_t", |
| "id" : 3, |
| "fields" : [ |
| ["label", 20, false], |
| ["tc", 3, false], |
| ["bos", 1, false], |
| ["ttl", 8, false] |
| ] |
| }, |
| { |
| "name" : "ipv4_t", |
| "id" : 4, |
| "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" : 5, |
| "fields" : [ |
| ["src_port", 16, false], |
| ["dst_port", 16, false], |
| ["len", 16, false], |
| ["checksum", 16, false] |
| ] |
| }, |
| { |
| "name" : "gtpu_t", |
| "id" : 6, |
| "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" : "arp_t", |
| "id" : 7, |
| "fields" : [ |
| ["hw_type", 16, false], |
| ["proto_type", 16, false], |
| ["hw_addr_len", 8, false], |
| ["proto_addr_len", 8, false], |
| ["opcode", 16, false] |
| ] |
| }, |
| { |
| "name" : "tcp_t", |
| "id" : 8, |
| "fields" : [ |
| ["src_port", 16, false], |
| ["dst_port", 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" : 9, |
| "fields" : [ |
| ["icmp_type", 8, false], |
| ["icmp_code", 8, false], |
| ["checksum", 16, false], |
| ["identifier", 16, false], |
| ["sequence_number", 16, false], |
| ["timestamp", 64, false] |
| ] |
| }, |
| { |
| "name" : "packet_out_header_t", |
| "id" : 10, |
| "fields" : [ |
| ["egress_port", 9, false], |
| ["_pad", 7, false] |
| ] |
| }, |
| { |
| "name" : "packet_in_header_t", |
| "id" : 11, |
| "fields" : [ |
| ["ingress_port", 9, false], |
| ["_pad", 7, false] |
| ] |
| }, |
| { |
| "name" : "intl4_shim_t", |
| "id" : 12, |
| "fields" : [ |
| ["int_type", 8, false], |
| ["rsvd1", 8, false], |
| ["len", 8, false], |
| ["rsvd2", 8, false] |
| ] |
| }, |
| { |
| "name" : "int_header_t", |
| "id" : 13, |
| "fields" : [ |
| ["ver", 4, false], |
| ["rep", 2, false], |
| ["c", 1, false], |
| ["e", 1, false], |
| ["rsvd1", 3, 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" : 14, |
| "fields" : [ |
| ["switch_id", 32, false] |
| ] |
| }, |
| { |
| "name" : "int_port_ids_t", |
| "id" : 15, |
| "fields" : [ |
| ["ingress_port_id", 16, false], |
| ["egress_port_id", 16, false] |
| ] |
| }, |
| { |
| "name" : "int_hop_latency_t", |
| "id" : 16, |
| "fields" : [ |
| ["hop_latency", 32, false] |
| ] |
| }, |
| { |
| "name" : "int_q_occupancy_t", |
| "id" : 17, |
| "fields" : [ |
| ["q_id", 8, false], |
| ["q_occupancy", 24, false] |
| ] |
| }, |
| { |
| "name" : "int_ingress_tstamp_t", |
| "id" : 18, |
| "fields" : [ |
| ["ingress_tstamp", 32, false] |
| ] |
| }, |
| { |
| "name" : "int_egress_tstamp_t", |
| "id" : 19, |
| "fields" : [ |
| ["egress_tstamp", 32, false] |
| ] |
| }, |
| { |
| "name" : "int_q_congestion_t", |
| "id" : 20, |
| "fields" : [ |
| ["q_id", 8, false], |
| ["q_congestion", 24, false] |
| ] |
| }, |
| { |
| "name" : "int_egress_port_tx_util_t", |
| "id" : 21, |
| "fields" : [ |
| ["egress_port_tx_util", 32, false] |
| ] |
| }, |
| { |
| "name" : "spgw_meta_t", |
| "id" : 22, |
| "fields" : [ |
| ["do_spgw", 1, false], |
| ["direction", 1, false], |
| ["teid", 32, false], |
| ["s1u_enb_addr", 32, false], |
| ["s1u_sgw_addr", 32, false], |
| ["_padding", 6, false] |
| ] |
| }, |
| { |
| "name" : "int_metadata_t", |
| "id" : 23, |
| "fields" : [ |
| ["insert_byte_cnt", 16, false], |
| ["int_hdr_word_len", 8, false], |
| ["switch_id", 32, false], |
| ["ins_cnt_tmp", 5, false], |
| ["_padding_0", 3, false] |
| ] |
| }, |
| { |
| "name" : "standard_metadata", |
| "id" : 24, |
| "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], |
| ["checksum_error", 1, false], |
| ["recirculate_flag", 32, false], |
| ["_padding_1", 5, 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" : "mpls", |
| "id" : 4, |
| "header_type" : "mpls_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "gtpu_ipv4", |
| "id" : 5, |
| "header_type" : "ipv4_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "gtpu_udp", |
| "id" : 6, |
| "header_type" : "udp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "gtpu", |
| "id" : 7, |
| "header_type" : "gtpu_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "ipv4", |
| "id" : 8, |
| "header_type" : "ipv4_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "arp", |
| "id" : 9, |
| "header_type" : "arp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "tcp", |
| "id" : 10, |
| "header_type" : "tcp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "udp", |
| "id" : 11, |
| "header_type" : "udp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "icmp", |
| "id" : 12, |
| "header_type" : "icmp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "packet_out", |
| "id" : 13, |
| "header_type" : "packet_out_header_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "packet_in", |
| "id" : 14, |
| "header_type" : "packet_in_header_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "intl4_shim", |
| "id" : 15, |
| "header_type" : "intl4_shim_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_header", |
| "id" : 16, |
| "header_type" : "int_header_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_switch_id", |
| "id" : 17, |
| "header_type" : "int_switch_id_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_port_ids", |
| "id" : 18, |
| "header_type" : "int_port_ids_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_hop_latency", |
| "id" : 19, |
| "header_type" : "int_hop_latency_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_q_occupancy", |
| "id" : 20, |
| "header_type" : "int_q_occupancy_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_ingress_tstamp", |
| "id" : 21, |
| "header_type" : "int_ingress_tstamp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_egress_tstamp", |
| "id" : 22, |
| "header_type" : "int_egress_tstamp_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_q_congestion", |
| "id" : 23, |
| "header_type" : "int_q_congestion_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "int_egress_port_tx_util", |
| "id" : 24, |
| "header_type" : "int_egress_port_tx_util_t", |
| "metadata" : false, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "userMetadata.spgw", |
| "id" : 25, |
| "header_type" : "spgw_meta_t", |
| "metadata" : true, |
| "pi_omit" : true |
| }, |
| { |
| "name" : "userMetadata.int_metadata", |
| "id" : 26, |
| "header_type" : "int_metadata_t", |
| "metadata" : true, |
| "pi_omit" : true |
| } |
| ], |
| "header_stacks" : [], |
| "header_union_types" : [], |
| "header_unions" : [], |
| "header_union_stacks" : [], |
| "field_lists" : [], |
| "errors" : [ |
| ["NoError", 1], |
| ["PacketTooShort", 2], |
| ["NoMatch", 3], |
| ["StackOutOfBounds", 4], |
| ["HeaderTooShort", 5], |
| ["ParserTimeout", 6] |
| ], |
| "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" : "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.original_ether_type"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ethernet", "ether_type"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x8100", |
| "mask" : null, |
| "next_state" : "parse_vlan_tag" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8847", |
| "mask" : null, |
| "next_state" : "parse_mpls" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0806", |
| "mask" : null, |
| "next_state" : "parse_arp" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800", |
| "mask" : null, |
| "next_state" : "parse_ipv4" |
| }, |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "ether_type"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_vlan_tag", |
| "id" : 3, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "vlan_tag" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x0806", |
| "mask" : null, |
| "next_state" : "parse_arp" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800", |
| "mask" : null, |
| "next_state" : "parse_ipv4" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8847", |
| "mask" : null, |
| "next_state" : "parse_mpls" |
| }, |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_mpls", |
| "id" : 4, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "mpls" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp"] |
| }, |
| { |
| "type" : "lookahead", |
| "value" : [0, 4] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x04", |
| "mask" : null, |
| "next_state" : "parse_ipv4" |
| }, |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : "parse_ethernet" |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_ipv4", |
| "id" : 5, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "ipv4" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "last_ipv4_dscp"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dscp"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.ip_proto"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "protocol"] |
| } |
| ], |
| "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_arp", |
| "id" : 6, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "arp" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_tcp", |
| "id" : 7, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "tcp" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_src_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["tcp", "src_port"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_dst_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["tcp", "dst_port"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_udp", |
| "id" : 8, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "udp" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_src_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["udp", "src_port"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_dst_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["udp", "dst_port"] |
| } |
| ], |
| "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", "dst_port"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_icmp", |
| "id" : 9, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "icmp" |
| } |
| ], |
| "op" : "extract" |
| } |
| ], |
| "transitions" : [ |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_gtpu", |
| "id" : 10, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "gtpu" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "gtpu_ipv4" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "last_ipv4_dscp"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["gtpu_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_inner" |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01", |
| "mask" : null, |
| "next_state" : "parse_icmp" |
| }, |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "protocol"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_udp_inner", |
| "id" : 11, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "gtpu_udp" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_src_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["gtpu_udp", "src_port"] |
| } |
| ], |
| "op" : "set" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_dst_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["gtpu_udp", "dst_port"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : "parse_int" |
| } |
| ], |
| "transition_key" : [] |
| }, |
| { |
| "name" : "parse_int", |
| "id" : 12, |
| "parser_ops" : [], |
| "transitions" : [ |
| { |
| "type" : "hexstr", |
| "value" : "0x20", |
| "mask" : "0x20", |
| "next_state" : "parse_intl4_shim" |
| }, |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "last_ipv4_dscp"] |
| } |
| ] |
| }, |
| { |
| "name" : "parse_intl4_shim", |
| "id" : 13, |
| "parser_ops" : [ |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "intl4_shim" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "regular", |
| "value" : "int_header" |
| } |
| ], |
| "op" : "extract" |
| }, |
| { |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "ins_cnt_tmp"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["int_header", "ins_cnt"] |
| } |
| ], |
| "op" : "set" |
| } |
| ], |
| "transitions" : [ |
| { |
| "value" : "default", |
| "mask" : null, |
| "next_state" : null |
| } |
| ], |
| "transition_key" : [] |
| } |
| ] |
| } |
| ], |
| "parse_vsets" : [], |
| "deparsers" : [ |
| { |
| "name" : "deparser", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/parser.p4", |
| "line" : 196, |
| "column" : 8, |
| "source_fragment" : "FabricDeparser" |
| }, |
| "order" : ["packet_in", "ethernet", "vlan_tag", "mpls", "arp", "gtpu_ipv4", "gtpu_udp", "gtpu", "ipv4", "tcp", "udp", "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_port_tx_util"] |
| } |
| ], |
| "meter_arrays" : [], |
| "counter_arrays" : [ |
| { |
| "name" : "spgw_ingress.ue_counter", |
| "id" : 0, |
| "is_direct" : true, |
| "binding" : "spgw_ingress.ue_cdr_table" |
| }, |
| { |
| "name" : "filtering.ingress_port_vlan_counter", |
| "id" : 1, |
| "is_direct" : true, |
| "binding" : "filtering.ingress_port_vlan" |
| }, |
| { |
| "name" : "filtering.fwd_classifier_counter", |
| "id" : 2, |
| "is_direct" : true, |
| "binding" : "filtering.fwd_classifier" |
| }, |
| { |
| "name" : "forwarding.bridging_counter", |
| "id" : 3, |
| "is_direct" : true, |
| "binding" : "forwarding.bridging" |
| }, |
| { |
| "name" : "forwarding.mpls_counter", |
| "id" : 4, |
| "is_direct" : true, |
| "binding" : "forwarding.mpls" |
| }, |
| { |
| "name" : "forwarding.unicast_v4_counter", |
| "id" : 5, |
| "is_direct" : true, |
| "binding" : "forwarding.unicast_v4" |
| }, |
| { |
| "name" : "forwarding.acl_counter", |
| "id" : 6, |
| "is_direct" : true, |
| "binding" : "forwarding.acl" |
| }, |
| { |
| "name" : "next.simple_counter", |
| "id" : 7, |
| "is_direct" : true, |
| "binding" : "next.simple" |
| }, |
| { |
| "name" : "next.hashed_counter", |
| "id" : 8, |
| "is_direct" : true, |
| "binding" : "next.hashed" |
| }, |
| { |
| "name" : "port_counters_control.egress_port_counter", |
| "id" : 9, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 23, |
| "column" : 48, |
| "source_fragment" : "egress_port_counter" |
| }, |
| "size" : 511, |
| "is_direct" : false |
| }, |
| { |
| "name" : "port_counters_control.ingress_port_counter", |
| "id" : 10, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 24, |
| "column" : 48, |
| "source_fragment" : "ingress_port_counter" |
| }, |
| "size" : 511, |
| "is_direct" : false |
| } |
| ], |
| "register_arrays" : [], |
| "calculations" : [ |
| { |
| "name" : "calc", |
| "id" : 0, |
| "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"] |
| } |
| ] |
| }, |
| { |
| "name" : "calc_0", |
| "id" : 1, |
| "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_1", |
| "id" : 2, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 294, |
| "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"] |
| } |
| ] |
| } |
| ], |
| "learn_lists" : [], |
| "actions" : [ |
| { |
| "name" : "NoAction", |
| "id" : 0, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 1, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 2, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 3, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 4, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 5, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 6, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 7, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 8, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 9, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "nop", |
| "id" : 10, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "spgw_ingress.drop_now", |
| "id" : 11, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "drop", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 33, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop()" |
| } |
| }, |
| { |
| "op" : "exit", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 34, |
| "column" : 8, |
| "source_fragment" : "exit" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "spgw_ingress.gtpu_decap", |
| "id" : 12, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_ipv4" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 38, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.setInvalid()" |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_udp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 39, |
| "column" : 8, |
| "source_fragment" : "gtpu_udp.setInvalid()" |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 40, |
| "column" : 8, |
| "source_fragment" : "gtpu.setInvalid()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "spgw_ingress.set_dl_sess_info", |
| "id" : 13, |
| "runtime_data" : [ |
| { |
| "name" : "teid", |
| "bitwidth" : 32 |
| }, |
| { |
| "name" : "s1u_enb_addr", |
| "bitwidth" : 32 |
| }, |
| { |
| "name" : "s1u_sgw_addr", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "teid"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 46, |
| "column" : 8, |
| "source_fragment" : "spgw_meta.teid = teid" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "s1u_enb_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 47, |
| "column" : 8, |
| "source_fragment" : "spgw_meta.s1u_enb_addr = s1u_enb_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "s1u_sgw_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 2 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "spgw_meta.s1u_sgw_addr = s1u_sgw_addr" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "spgw_ingress.update_ue_cdr", |
| "id" : 14, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "filtering.drop", |
| "id" : 15, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "drop", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "filtering.set_vlan", |
| "id" : 16, |
| "runtime_data" : [ |
| { |
| "name" : "new_vlan_id", |
| "bitwidth" : 12 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 35, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "filtering.push_internal_vlan", |
| "id" : 17, |
| "runtime_data" : [ |
| { |
| "name" : "new_vlan_id", |
| "bitwidth" : 12 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 41, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "cfi"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.cfi = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "pri"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.pri = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ethernet", "ether_type"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "ether_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8100" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 32, |
| "column" : 31, |
| "source_fragment" : "0x8100; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 35, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.pop_vlan_at_egress"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.pop_vlan_at_egress = true" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "filtering.set_forwarding_type", |
| "id" : 18, |
| "runtime_data" : [ |
| { |
| "name" : "fwd_type", |
| "bitwidth" : 3 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.fwd_type"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 53, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.fwd_type = fwd_type" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "forwarding.drop", |
| "id" : 19, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "drop", |
| "parameters" : [], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "mark_to_drop()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "forwarding.set_next_id", |
| "id" : 20, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.next_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 40, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.next_id = next_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "forwarding.set_next_id", |
| "id" : 21, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.next_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 40, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.next_id = next_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "forwarding.set_next_id", |
| "id" : 22, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.next_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 40, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.next_id = next_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "forwarding.pop_mpls_and_next", |
| "id" : 23, |
| "runtime_data" : [ |
| { |
| "name" : "next_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "mpls" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.setInvalid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.next_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 45, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.next_id = next_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "forwarding.duplicate_to_controller", |
| "id" : 24, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00ff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = 255" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.output", |
| "id" : 25, |
| "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" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.set_vlan_output", |
| "id" : 26, |
| "runtime_data" : [ |
| { |
| "name" : "new_vlan_id", |
| "bitwidth" : 12 |
| }, |
| { |
| "name" : "port_num", |
| "bitwidth" : 9 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "vlan_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.pop_vlan_at_egress"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : false |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 39, |
| "column" : 8, |
| "source_fragment" : "fabric_metadata.pop_vlan_at_egress = false" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.l3_routing", |
| "id" : 27, |
| "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" : 44, |
| "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" : 48, |
| "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" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.l3_routing", |
| "id" : 28, |
| "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" : 44, |
| "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" : 48, |
| "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" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.mpls_routing_v4", |
| "id" : 29, |
| "runtime_data" : [ |
| { |
| "name" : "port_num", |
| "bitwidth" : 9 |
| }, |
| { |
| "name" : "smac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "dmac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "label", |
| "bitwidth" : 20 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "src_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 44, |
| "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" : 48, |
| "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" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "mpls" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 59, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8847" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 33, |
| "column" : 31, |
| "source_fragment" : "0x8847; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "label"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 3 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 61, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.label = label; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "tc"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 62, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.tc = tc; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "bos"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 63, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.bos = 1w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x40" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 67, |
| "column" : 32, |
| "source_fragment" : "64; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.mpls_routing_v4", |
| "id" : 30, |
| "runtime_data" : [ |
| { |
| "name" : "port_num", |
| "bitwidth" : 9 |
| }, |
| { |
| "name" : "smac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "dmac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "label", |
| "bitwidth" : 20 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "src_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 44, |
| "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" : 48, |
| "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" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "mpls" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 59, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8847" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 33, |
| "column" : 31, |
| "source_fragment" : "0x8847; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "label"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 3 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 61, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.label = label; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "tc"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 62, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.tc = tc; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "bos"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 63, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.bos = 1w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x40" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 67, |
| "column" : 32, |
| "source_fragment" : "64; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "next.mpls_routing_v6", |
| "id" : 31, |
| "runtime_data" : [ |
| { |
| "name" : "port_num", |
| "bitwidth" : 9 |
| }, |
| { |
| "name" : "smac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "dmac", |
| "bitwidth" : 48 |
| }, |
| { |
| "name" : "label", |
| "bitwidth" : 20 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "src_addr"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 1 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 44, |
| "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" : 48, |
| "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" : 32, |
| "column" : 8, |
| "source_fragment" : "standard_metadata.egress_spec = port_num; ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "mpls" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 59, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x8847" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 33, |
| "column" : 31, |
| "source_fragment" : "0x8847; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "label"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 3 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 61, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.label = label; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "tc"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 62, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.tc = tc; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "bos"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 63, |
| "column" : 8, |
| "source_fragment" : "hdr.mpls.bos = 1w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["mpls", "ttl"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x40" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 67, |
| "column" : 32, |
| "source_fragment" : "64; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act", |
| "id" : 32, |
| "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" : 26, |
| "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" : 27, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_out.setInvalid()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_0", |
| "id" : 33, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_2"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_1", |
| "id" : 34, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_2"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : false |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_2", |
| "id" : 35, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "s1u_enb_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "src_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 152, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.s1u_enb_addr = ipv4.src_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "s1u_sgw_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dst_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 153, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.s1u_sgw_addr = ipv4.dst_addr" |
| } |
| }, |
| { |
| "op" : "assign_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "ipv4" |
| }, |
| { |
| "type" : "header", |
| "value" : "gtpu_ipv4" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 154, |
| "column" : 17, |
| "source_fragment" : "= gtpu_ipv4; ..." |
| } |
| }, |
| { |
| "op" : "assign_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "udp" |
| }, |
| { |
| "type" : "header", |
| "value" : "gtpu_udp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 155, |
| "column" : 16, |
| "source_fragment" : "= gtpu_udp; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_3", |
| "id" : 36, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "do_spgw"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 159, |
| "column" : 16, |
| "source_fragment" : "spgw_meta.do_spgw = 1w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "direction"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 88, |
| "column" : 31, |
| "source_fragment" : "1w0; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_4", |
| "id" : 37, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_3"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_5", |
| "id" : 38, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_3"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : false |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_6", |
| "id" : 39, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "do_spgw"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 163, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.do_spgw = 1w1" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "direction"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 89, |
| "column" : 33, |
| "source_fragment" : "1w1; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_7", |
| "id" : 40, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_hasReturned_0"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : false |
| } |
| } |
| } |
| } |
| ] |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "do_spgw"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 146, |
| "column" : 8, |
| "source_fragment" : "spgw_meta.do_spgw = 1w0" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_8", |
| "id" : 41, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_hasReturned_0"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 169, |
| "column" : 12, |
| "source_fragment" : "return" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_9", |
| "id" : 42, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_4"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_10", |
| "id" : 43, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_4"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : false |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_11", |
| "id" : 44, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 35, |
| "column" : 31, |
| "source_fragment" : "0x0800; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.original_ether_type"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0800" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 35, |
| "column" : 31, |
| "source_fragment" : "0x0800; ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_12", |
| "id" : 45, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "next_tmp_0"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : true |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_13", |
| "id" : 46, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "next_tmp_0"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "b2d", |
| "left" : null, |
| "right" : { |
| "type" : "bool", |
| "value" : false |
| } |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name" : "act_14", |
| "id" : 47, |
| "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" : 143, |
| "column" : 20, |
| "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_15", |
| "id" : 48, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_0"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_spec"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ] |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "port_counters_control.egress_port_counter" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_0"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 28, |
| "column" : 12, |
| "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_16", |
| "id" : 49, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_1"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ] |
| }, |
| { |
| "op" : "count", |
| "parameters" : [ |
| { |
| "type" : "counter_array", |
| "value" : "port_counters_control.ingress_port_counter" |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "tmp_1"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 31, |
| "column" : 12, |
| "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_17", |
| "id" : 50, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ethernet", "ether_type"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["vlan_tag", "ether_type"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 167, |
| "column" : 12, |
| "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type" |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "vlan_tag" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 168, |
| "column" : 12, |
| "source_fragment" : "hdr.vlan_tag.setInvalid()" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "NoAction", |
| "id" : 51, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i0", |
| "id" : 52, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i1", |
| "id" : 53, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i2", |
| "id" : 54, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i3", |
| "id" : 55, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i4", |
| "id" : 56, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i5", |
| "id" : 57, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i6", |
| "id" : 58, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i7", |
| "id" : 59, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i8", |
| "id" : 60, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i9", |
| "id" : 61, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i10", |
| "id" : 62, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i11", |
| "id" : 63, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i12", |
| "id" : 64, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i13", |
| "id" : 65, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i14", |
| "id" : 66, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0003_i15", |
| "id" : 67, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_occupancy" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 24, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 25, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_id = 0x00" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_occupancy", "q_occupancy"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "deq_qdepth"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 26, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) standard_metadata.deq_qdepth" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_hop_latency" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 19, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_hop_latency", "hop_latency"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 20, |
| "column" : 8, |
| "source_fragment" : "hdr.int_hop_latency.hop_latency = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_port_ids" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 11, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "ingress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 12, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_port_ids", "egress_port_id"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_port"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 14, |
| "column" : 8, |
| "source_fragment" : "hdr.int_port_ids.egress_port_id = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_switch_id" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 6, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_switch_id", "switch_id"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 7, |
| "column" : 8, |
| "source_fragment" : "hdr.int_switch_id.switch_id = int_metadata.switch_id" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i0", |
| "id" : 68, |
| "runtime_data" : [], |
| "primitives" : [] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i1", |
| "id" : 69, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i2", |
| "id" : 70, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i3", |
| "id" : 71, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i4", |
| "id" : 72, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i5", |
| "id" : 73, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i6", |
| "id" : 74, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i7", |
| "id" : 75, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i8", |
| "id" : 76, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i9", |
| "id" : 77, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i10", |
| "id" : 78, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i11", |
| "id" : 79, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i12", |
| "id" : 80, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i13", |
| "id" : 81, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i14", |
| "id" : 82, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_set_header_0407_i15", |
| "id" : 83, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_port_tx_util" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 48, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_port_tx_util", "egress_port_tx_util"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 49, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_port_tx_util.egress_port_tx_util = 0xffffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_q_congestion" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 42, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_id"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 43, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_id = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_q_congestion", "q_congestion"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xffffff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 44, |
| "column" : 8, |
| "source_fragment" : "hdr.int_q_congestion.q_congestion = 0xffffff" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_egress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 36, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_egress_tstamp", "egress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "egress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..." |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "int_ingress_tstamp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 30, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_ingress_tstamp", "ingress_tstamp"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["standard_metadata", "ingress_global_timestamp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffffffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 31, |
| "column" : 8, |
| "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..." |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_outer_encap.int_update_ipv4", |
| "id" : 84, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| "right" : { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "insert_byte_cnt"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 243, |
| "column" : 8, |
| "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + int_metadata.insert_byte_cnt" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_outer_encap.int_update_udp", |
| "id" : 85, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["udp", "len"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["udp", "len"] |
| }, |
| "right" : { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "insert_byte_cnt"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 247, |
| "column" : 8, |
| "source_fragment" : "hdr.udp.len = hdr.udp.len + int_metadata.insert_byte_cnt" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["udp", "checksum"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 248, |
| "column" : 8, |
| "source_fragment" : "hdr.udp.checksum = 0" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_outer_encap.int_update_shim", |
| "id" : 86, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["intl4_shim", "len"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["intl4_shim", "len"] |
| }, |
| "right" : { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "int_hdr_word_len"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 251, |
| "column" : 8, |
| "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + int_metadata.int_hdr_word_len" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_transit", |
| "id" : 87, |
| "runtime_data" : [ |
| { |
| "name" : "switch_id", |
| "bitwidth" : 32 |
| } |
| ], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "switch_id"] |
| }, |
| { |
| "type" : "runtime_data", |
| "value" : 0 |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 271, |
| "column" : 8, |
| "source_fragment" : "int_metadata.switch_id = switch_id" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "insert_byte_cnt"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "<<", |
| "left" : { |
| "type" : "field", |
| "value" : ["int_header", "ins_cnt"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x2" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x1f" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 272, |
| "column" : 8, |
| "source_fragment" : "int_metadata.insert_byte_cnt = (bit<16>) (hdr.int_header.ins_cnt << 2)" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "int_hdr_word_len"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "field", |
| "value" : ["userMetadata.int_metadata", "ins_cnt_tmp"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 273, |
| "column" : 8, |
| "source_fragment" : "int_metadata.int_hdr_word_len = (bit<8>) int_metadata.ins_cnt_tmp" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_hop_cnt_increment", |
| "id" : 88, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_header", "total_hop_cnt"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["int_header", "total_hop_cnt"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 281, |
| "column" : 8, |
| "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "int_egress.int_hop_cnt_exceeded", |
| "id" : 89, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["int_header", "e"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 284, |
| "column" : 8, |
| "source_fragment" : "hdr.int_header.e = 1" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "spgw_egress.gtpu_encap", |
| "id" : 90, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_ipv4" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 211, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "version"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x04" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 212, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.version = 4" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "ihl"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x05" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 54, |
| "column" : 28, |
| "source_fragment" : "5; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "dscp"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 214, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.dscp = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "ecn"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 215, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.ecn = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "total_len"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x0024" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 216, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "identification"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x1513" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 218, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.identification = 0x1513" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "flags"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 219, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.flags = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "frag_offset"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 220, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.frag_offset = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "ttl"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x40" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 78, |
| "column" : 32, |
| "source_fragment" : "64; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "protocol"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x11" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/../define.p4", |
| "line" : 51, |
| "column" : 25, |
| "source_fragment" : "17; ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "dst_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "s1u_enb_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 223, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.dst_addr = spgw_meta.s1u_enb_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "src_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "s1u_sgw_addr"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 224, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.src_addr = spgw_meta.s1u_sgw_addr" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_ipv4", "hdr_checksum"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 225, |
| "column" : 8, |
| "source_fragment" : "gtpu_ipv4.hdr_checksum = 0" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_udp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 227, |
| "column" : 8, |
| "source_fragment" : "gtpu_udp.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_udp", "src_port"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0868" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 228, |
| "column" : 8, |
| "source_fragment" : "gtpu_udp.src_port = 2152" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_udp", "dst_port"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0868" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 229, |
| "column" : 8, |
| "source_fragment" : "gtpu_udp.dst_port = 2152" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_udp", "len"] |
| }, |
| { |
| "type" : "expression", |
| "value" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "&", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "+", |
| "left" : { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x0010" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0xffff" |
| } |
| } |
| } |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 230, |
| "column" : 8, |
| "source_fragment" : "gtpu_udp.len = ipv4.total_len ..." |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu_udp", "checksum"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x0000" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 232, |
| "column" : 8, |
| "source_fragment" : "gtpu_udp.checksum = 0" |
| } |
| }, |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 234, |
| "column" : 8, |
| "source_fragment" : "gtpu.setValid()" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "version"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 235, |
| "column" : 8, |
| "source_fragment" : "gtpu.version = 0x01" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "pt"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 236, |
| "column" : 8, |
| "source_fragment" : "gtpu.pt = 0x01" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "spare"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 237, |
| "column" : 8, |
| "source_fragment" : "gtpu.spare = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "ex_flag"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 238, |
| "column" : 8, |
| "source_fragment" : "gtpu.ex_flag = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "seq_flag"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 239, |
| "column" : 8, |
| "source_fragment" : "gtpu.seq_flag = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "npdu_flag"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 240, |
| "column" : 8, |
| "source_fragment" : "gtpu.npdu_flag = 0" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "msgtype"] |
| }, |
| { |
| "type" : "hexstr", |
| "value" : "0xff" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 241, |
| "column" : 8, |
| "source_fragment" : "gtpu.msgtype = 0xff" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "msglen"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "total_len"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 242, |
| "column" : 8, |
| "source_fragment" : "gtpu.msglen = ipv4.total_len" |
| } |
| }, |
| { |
| "op" : "assign", |
| "parameters" : [ |
| { |
| "type" : "field", |
| "value" : ["gtpu", "teid"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "teid"] |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 243, |
| "column" : 8, |
| "source_fragment" : "gtpu.teid = spgw_meta.teid" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_18", |
| "id" : 91, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "add_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "packet_in" |
| } |
| ], |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 39, |
| "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" : 40, |
| "column" : 12, |
| "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port" |
| } |
| } |
| ] |
| }, |
| { |
| "name" : "act_19", |
| "id" : 92, |
| "runtime_data" : [], |
| "primitives" : [ |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_ipv4" |
| } |
| ], |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 78, |
| "column" : 36, |
| "source_fragment" : "hdr.gtpu_ipv4" |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu_udp" |
| } |
| ], |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 78, |
| "column" : 51, |
| "source_fragment" : "hdr.gtpu_udp" |
| } |
| }, |
| { |
| "op" : "remove_header", |
| "parameters" : [ |
| { |
| "type" : "header", |
| "value" : "gtpu" |
| } |
| ], |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 78, |
| "column" : 65, |
| "source_fragment" : "hdr.gtpu" |
| } |
| } |
| ] |
| } |
| ], |
| "pipelines" : [ |
| { |
| "name" : "ingress", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 37, |
| "column" : 8, |
| "source_fragment" : "FabricIngress" |
| }, |
| "init_table" : "node_2", |
| "tables" : [ |
| { |
| "name" : "tbl_act", |
| "id" : 0, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [32], |
| "actions" : ["act"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "act" : null |
| }, |
| "default_entry" : { |
| "action_id" : 32, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_0", |
| "id" : 1, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [40], |
| "actions" : ["act_7"], |
| "base_default_next" : "node_5", |
| "next_tables" : { |
| "act_7" : "node_5" |
| }, |
| "default_entry" : { |
| "action_id" : 40, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_1", |
| "id" : 2, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [35], |
| "actions" : ["act_2"], |
| "base_default_next" : "spgw_ingress.s1u_filter_table", |
| "next_tables" : { |
| "act_2" : "spgw_ingress.s1u_filter_table" |
| }, |
| "default_entry" : { |
| "action_id" : 35, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "spgw_ingress.s1u_filter_table", |
| "id" : 3, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 65, |
| "column" : 10, |
| "source_fragment" : "s1u_filter_table" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "spgw_meta.s1u_sgw_addr", |
| "target" : ["userMetadata.spgw", "s1u_sgw_addr"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [1], |
| "actions" : ["NoAction"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "__HIT__" : "tbl_act_2", |
| "__MISS__" : "tbl_act_3" |
| }, |
| "default_entry" : { |
| "action_id" : 1, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "tbl_act_2", |
| "id" : 4, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [33], |
| "actions" : ["act_0"], |
| "base_default_next" : "node_10", |
| "next_tables" : { |
| "act_0" : "node_10" |
| }, |
| "default_entry" : { |
| "action_id" : 33, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_3", |
| "id" : 5, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [34], |
| "actions" : ["act_1"], |
| "base_default_next" : "node_10", |
| "next_tables" : { |
| "act_1" : "node_10" |
| }, |
| "default_entry" : { |
| "action_id" : 34, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_4", |
| "id" : 6, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [36], |
| "actions" : ["act_3"], |
| "base_default_next" : "node_17", |
| "next_tables" : { |
| "act_3" : "node_17" |
| }, |
| "default_entry" : { |
| "action_id" : 36, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "spgw_ingress.ue_filter_table", |
| "id" : 7, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 55, |
| "column" : 10, |
| "source_fragment" : "ue_filter_table" |
| }, |
| "key" : [ |
| { |
| "match_type" : "lpm", |
| "name" : "ipv4.dst_addr", |
| "target" : ["ipv4", "dst_addr"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "lpm", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [0], |
| "actions" : ["NoAction"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "__HIT__" : "tbl_act_5", |
| "__MISS__" : "tbl_act_6" |
| }, |
| "default_entry" : { |
| "action_id" : 0, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "tbl_act_5", |
| "id" : 8, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [37], |
| "actions" : ["act_4"], |
| "base_default_next" : "node_15", |
| "next_tables" : { |
| "act_4" : "node_15" |
| }, |
| "default_entry" : { |
| "action_id" : 37, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_6", |
| "id" : 9, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [38], |
| "actions" : ["act_5"], |
| "base_default_next" : "node_15", |
| "next_tables" : { |
| "act_5" : "node_15" |
| }, |
| "default_entry" : { |
| "action_id" : 38, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_7", |
| "id" : 10, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [39], |
| "actions" : ["act_6"], |
| "base_default_next" : "node_17", |
| "next_tables" : { |
| "act_6" : "node_17" |
| }, |
| "default_entry" : { |
| "action_id" : 39, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_8", |
| "id" : 11, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [41], |
| "actions" : ["act_8"], |
| "base_default_next" : "node_19", |
| "next_tables" : { |
| "act_8" : "node_19" |
| }, |
| "default_entry" : { |
| "action_id" : 41, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_spgw_ingress_gtpu_decap", |
| "id" : 12, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [12], |
| "actions" : ["spgw_ingress.gtpu_decap"], |
| "base_default_next" : "node_22", |
| "next_tables" : { |
| "spgw_ingress.gtpu_decap" : "node_22" |
| }, |
| "default_entry" : { |
| "action_id" : 12, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "spgw_ingress.dl_sess_lookup", |
| "id" : 13, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 124, |
| "column" : 10, |
| "source_fragment" : "dl_sess_lookup" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "ipv4.dst_addr", |
| "target" : ["ipv4", "dst_addr"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [13, 2], |
| "actions" : ["spgw_ingress.set_dl_sess_info", "NoAction"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "__HIT__" : "tbl_act_9", |
| "__MISS__" : "tbl_act_10" |
| }, |
| "default_entry" : { |
| "action_id" : 2, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "tbl_act_9", |
| "id" : 14, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [42], |
| "actions" : ["act_9"], |
| "base_default_next" : "node_26", |
| "next_tables" : { |
| "act_9" : "node_26" |
| }, |
| "default_entry" : { |
| "action_id" : 42, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_10", |
| "id" : 15, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [43], |
| "actions" : ["act_10"], |
| "base_default_next" : "node_26", |
| "next_tables" : { |
| "act_10" : "node_26" |
| }, |
| "default_entry" : { |
| "action_id" : 43, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_spgw_ingress_drop_now", |
| "id" : 16, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [11], |
| "actions" : ["spgw_ingress.drop_now"], |
| "base_default_next" : "spgw_ingress.ue_cdr_table", |
| "next_tables" : { |
| "spgw_ingress.drop_now" : "spgw_ingress.ue_cdr_table" |
| }, |
| "default_entry" : { |
| "action_id" : 11, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "spgw_ingress.ue_cdr_table", |
| "id" : 17, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 134, |
| "column" : 10, |
| "source_fragment" : "ue_cdr_table" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "ipv4.dst_addr", |
| "target" : ["ipv4", "dst_addr"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [14, 3], |
| "actions" : ["spgw_ingress.update_ue_cdr", "NoAction"], |
| "base_default_next" : "filtering.ingress_port_vlan", |
| "next_tables" : { |
| "spgw_ingress.update_ue_cdr" : "filtering.ingress_port_vlan", |
| "NoAction" : "filtering.ingress_port_vlan" |
| }, |
| "default_entry" : { |
| "action_id" : 3, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "filtering.ingress_port_vlan", |
| "id" : 18, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 57, |
| "column" : 10, |
| "source_fragment" : "ingress_port_vlan" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "standard_metadata.ingress_port", |
| "target" : ["standard_metadata", "ingress_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "hdr.vlan_tag.is_valid", |
| "target" : ["vlan_tag", "$valid$"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.vlan_tag.vlan_id", |
| "target" : ["vlan_tag", "vlan_id"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [17, 16, 9, 15], |
| "actions" : ["filtering.push_internal_vlan", "filtering.set_vlan", "nop", "filtering.drop"], |
| "base_default_next" : "filtering.fwd_classifier", |
| "next_tables" : { |
| "filtering.push_internal_vlan" : "filtering.fwd_classifier", |
| "filtering.set_vlan" : "filtering.fwd_classifier", |
| "nop" : "filtering.fwd_classifier", |
| "filtering.drop" : "filtering.fwd_classifier" |
| }, |
| "default_entry" : { |
| "action_id" : 9, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "filtering.fwd_classifier", |
| "id" : 19, |
| "source_info" : { |
| "filename" : "include/control/filtering.p4", |
| "line" : 76, |
| "column" : 10, |
| "source_fragment" : "fwd_classifier" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "standard_metadata.ingress_port", |
| "target" : ["standard_metadata", "ingress_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "hdr.ethernet.dst_addr", |
| "target" : ["ethernet", "dst_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "exact", |
| "name" : "fabric_metadata.original_ether_type", |
| "target" : ["scalars", "fabric_metadata_t.original_ether_type"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [18], |
| "actions" : ["filtering.set_forwarding_type"], |
| "base_default_next" : "node_31", |
| "next_tables" : { |
| "filtering.set_forwarding_type" : "node_31" |
| }, |
| "default_entry" : { |
| "action_id" : 18, |
| "action_const" : true, |
| "action_data" : ["0x0"], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "forwarding.bridging", |
| "id" : 20, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 52, |
| "column" : 10, |
| "source_fragment" : "bridging" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "hdr.vlan_tag.vlan_id", |
| "target" : ["vlan_tag", "vlan_id"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.ethernet.dst_addr", |
| "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" : [20, 4], |
| "actions" : ["forwarding.set_next_id", "NoAction"], |
| "base_default_next" : "forwarding.acl", |
| "next_tables" : { |
| "forwarding.set_next_id" : "forwarding.acl", |
| "NoAction" : "forwarding.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 4, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "forwarding.mpls", |
| "id" : 21, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 64, |
| "column" : 10, |
| "source_fragment" : "mpls" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "hdr.mpls.label", |
| "target" : ["mpls", "label"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [23, 5], |
| "actions" : ["forwarding.pop_mpls_and_next", "NoAction"], |
| "base_default_next" : "tbl_act_11", |
| "next_tables" : { |
| "forwarding.pop_mpls_and_next" : "tbl_act_11", |
| "NoAction" : "tbl_act_11" |
| }, |
| "default_entry" : { |
| "action_id" : 5, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "tbl_act_11", |
| "id" : 22, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [44], |
| "actions" : ["act_11"], |
| "base_default_next" : "forwarding.acl", |
| "next_tables" : { |
| "act_11" : "forwarding.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 44, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "forwarding.unicast_v4", |
| "id" : 23, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 75, |
| "column" : 10, |
| "source_fragment" : "unicast_v4" |
| }, |
| "key" : [ |
| { |
| "match_type" : "lpm", |
| "name" : "hdr.ipv4.dst_addr", |
| "target" : ["ipv4", "dst_addr"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "lpm", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [21, 6], |
| "actions" : ["forwarding.set_next_id", "NoAction"], |
| "base_default_next" : "forwarding.acl", |
| "next_tables" : { |
| "forwarding.set_next_id" : "forwarding.acl", |
| "NoAction" : "forwarding.acl" |
| }, |
| "default_entry" : { |
| "action_id" : 6, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "forwarding.acl", |
| "id" : 24, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 133, |
| "column" : 10, |
| "source_fragment" : "acl" |
| }, |
| "key" : [ |
| { |
| "match_type" : "ternary", |
| "name" : "standard_metadata.ingress_port", |
| "target" : ["standard_metadata", "ingress_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "fabric_metadata.ip_proto", |
| "target" : ["scalars", "fabric_metadata_t.ip_proto"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "fabric_metadata.l4_src_port", |
| "target" : ["scalars", "fabric_metadata_t.l4_src_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "fabric_metadata.l4_dst_port", |
| "target" : ["scalars", "fabric_metadata_t.l4_dst_port"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "fabric_metadata.original_ether_type", |
| "target" : ["scalars", "fabric_metadata_t.original_ether_type"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.ethernet.dst_addr", |
| "target" : ["ethernet", "dst_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.ethernet.src_addr", |
| "target" : ["ethernet", "src_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.vlan_tag.vlan_id", |
| "target" : ["vlan_tag", "vlan_id"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.ipv4.src_addr", |
| "target" : ["ipv4", "src_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.ipv4.dst_addr", |
| "target" : ["ipv4", "dst_addr"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.icmp.icmp_type", |
| "target" : ["icmp", "icmp_type"], |
| "mask" : null |
| }, |
| { |
| "match_type" : "ternary", |
| "name" : "hdr.icmp.icmp_code", |
| "target" : ["icmp", "icmp_code"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "ternary", |
| "type" : "simple", |
| "max_size" : 256, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [22, 24, 19, 10], |
| "actions" : ["forwarding.set_next_id", "forwarding.duplicate_to_controller", "forwarding.drop", "nop"], |
| "base_default_next" : "next.simple", |
| "next_tables" : { |
| "forwarding.set_next_id" : "next.simple", |
| "forwarding.duplicate_to_controller" : "next.simple", |
| "forwarding.drop" : "next.simple", |
| "nop" : "next.simple" |
| }, |
| "default_entry" : { |
| "action_id" : 10, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "next.simple", |
| "id" : 25, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 83, |
| "column" : 10, |
| "source_fragment" : "simple" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "fabric_metadata.next_id", |
| "target" : ["scalars", "fabric_metadata_t.next_id"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [25, 26, 27, 29, 7], |
| "actions" : ["next.output", "next.set_vlan_output", "next.l3_routing", "next.mpls_routing_v4", "NoAction"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "__HIT__" : "tbl_act_12", |
| "__MISS__" : "tbl_act_13" |
| }, |
| "default_entry" : { |
| "action_id" : 7, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "tbl_act_12", |
| "id" : 26, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [45], |
| "actions" : ["act_12"], |
| "base_default_next" : "node_42", |
| "next_tables" : { |
| "act_12" : "node_42" |
| }, |
| "default_entry" : { |
| "action_id" : 45, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_13", |
| "id" : 27, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [46], |
| "actions" : ["act_13"], |
| "base_default_next" : "node_42", |
| "next_tables" : { |
| "act_13" : "node_42" |
| }, |
| "default_entry" : { |
| "action_id" : 46, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_14", |
| "id" : 28, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [47], |
| "actions" : ["act_14"], |
| "base_default_next" : "next.hashed", |
| "next_tables" : { |
| "act_14" : "next.hashed" |
| }, |
| "default_entry" : { |
| "action_id" : 47, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "next.hashed", |
| "id" : 29, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 97, |
| "column" : 10, |
| "source_fragment" : "hashed" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "fabric_metadata.next_id", |
| "target" : ["scalars", "fabric_metadata_t.next_id"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "indirect_ws", |
| "action_profile" : "next.ecmp_selector", |
| "max_size" : 1024, |
| "with_counters" : true, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [28, 30, 31, 8], |
| "actions" : ["next.l3_routing", "next.mpls_routing_v4", "next.mpls_routing_v6", "NoAction"], |
| "base_default_next" : "node_47", |
| "next_tables" : { |
| "next.l3_routing" : "node_47", |
| "next.mpls_routing_v4" : "node_47", |
| "next.mpls_routing_v6" : "node_47", |
| "NoAction" : "node_47" |
| } |
| }, |
| { |
| "name" : "tbl_act_15", |
| "id" : 30, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [48], |
| "actions" : ["act_15"], |
| "base_default_next" : "node_49", |
| "next_tables" : { |
| "act_15" : "node_49" |
| }, |
| "default_entry" : { |
| "action_id" : 48, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_16", |
| "id" : 31, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [49], |
| "actions" : ["act_16"], |
| "base_default_next" : "node_51", |
| "next_tables" : { |
| "act_16" : "node_51" |
| }, |
| "default_entry" : { |
| "action_id" : 49, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_17", |
| "id" : 32, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [50], |
| "actions" : ["act_17"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "act_17" : null |
| }, |
| "default_entry" : { |
| "action_id" : 50, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| } |
| ], |
| "action_profiles" : [ |
| { |
| "name" : "next.ecmp_selector", |
| "id" : 0, |
| "max_size" : 64, |
| "selector" : { |
| "algo" : "crc16", |
| "input" : [ |
| { |
| "type" : "field", |
| "value" : ["ipv4", "dst_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["ipv4", "src_addr"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.ip_proto"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_src_port"] |
| }, |
| { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.l4_dst_port"] |
| } |
| ] |
| } |
| } |
| ], |
| "conditionals" : [ |
| { |
| "name" : "node_2", |
| "id" : 0, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 25, |
| "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_act", |
| "false_next" : "tbl_act_0" |
| }, |
| { |
| "name" : "node_5", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 147, |
| "column" : 12, |
| "source_fragment" : "gtpu.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["gtpu", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_act_1", |
| "false_next" : "spgw_ingress.ue_filter_table" |
| }, |
| { |
| "name" : "node_10", |
| "id" : 2, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_2"] |
| } |
| } |
| }, |
| "true_next" : "tbl_act_4", |
| "false_next" : "node_17" |
| }, |
| { |
| "name" : "node_15", |
| "id" : 3, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_3"] |
| } |
| } |
| }, |
| "true_next" : "tbl_act_7", |
| "false_next" : "node_17" |
| }, |
| { |
| "name" : "node_17", |
| "id" : 4, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 167, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.do_spgw == 1w0" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "do_spgw"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| }, |
| "true_next" : "tbl_act_8", |
| "false_next" : "node_19" |
| }, |
| { |
| "name" : "node_19", |
| "id" : 5, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_hasReturned_0"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "node_20", |
| "false_next" : "filtering.ingress_port_vlan" |
| }, |
| { |
| "name" : "node_20", |
| "id" : 6, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 172, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.direction == DIR_UPLINK" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "direction"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| }, |
| "true_next" : "tbl_spgw_ingress_gtpu_decap", |
| "false_next" : "node_22" |
| }, |
| { |
| "name" : "node_22", |
| "id" : 7, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 189, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.direction == DIR_DOWNLINK" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "direction"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| }, |
| "true_next" : "spgw_ingress.dl_sess_lookup", |
| "false_next" : "filtering.ingress_port_vlan" |
| }, |
| { |
| "name" : "node_26", |
| "id" : 8, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 190, |
| "column" : 16, |
| "source_fragment" : "!dl_sess_lookup.apply().hit" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "not", |
| "left" : null, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "spgw_ingress_tmp_4"] |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "tbl_spgw_ingress_drop_now", |
| "false_next" : "spgw_ingress.ue_cdr_table" |
| }, |
| { |
| "name" : "node_31", |
| "id" : 9, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 163, |
| "column" : 11, |
| "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.fwd_type"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| }, |
| "true_next" : "forwarding.bridging", |
| "false_next" : "node_33" |
| }, |
| { |
| "name" : "node_33", |
| "id" : 10, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 164, |
| "column" : 17, |
| "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.fwd_type"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| }, |
| "true_next" : "forwarding.mpls", |
| "false_next" : "node_36" |
| }, |
| { |
| "name" : "node_36", |
| "id" : 11, |
| "source_info" : { |
| "filename" : "include/control/forwarding.p4", |
| "line" : 179, |
| "column" : 17, |
| "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.fwd_type"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x02" |
| } |
| } |
| }, |
| "true_next" : "forwarding.unicast_v4", |
| "false_next" : "forwarding.acl" |
| }, |
| { |
| "name" : "node_42", |
| "id" : 12, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "next_tmp_0"] |
| } |
| } |
| }, |
| "true_next" : "node_43", |
| "false_next" : "next.hashed" |
| }, |
| { |
| "name" : "node_43", |
| "id" : 13, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 141, |
| "column" : 16, |
| "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" : "node_44", |
| "false_next" : "next.hashed" |
| }, |
| { |
| "name" : "node_44", |
| "id" : 14, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 142, |
| "column" : 19, |
| "source_fragment" : "hdr.ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_act_14", |
| "false_next" : "next.hashed" |
| }, |
| { |
| "name" : "node_47", |
| "id" : 15, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 27, |
| "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_act_15", |
| "false_next" : "node_49" |
| }, |
| { |
| "name" : "node_49", |
| "id" : 16, |
| "source_info" : { |
| "filename" : "include/control/port_counter.p4", |
| "line" : 30, |
| "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_act_16", |
| "false_next" : "node_51" |
| }, |
| { |
| "name" : "node_51", |
| "id" : 17, |
| "source_info" : { |
| "filename" : "include/control/next.p4", |
| "line" : 166, |
| "column" : 12, |
| "source_fragment" : "fabric_metadata.pop_vlan_at_egress" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["scalars", "fabric_metadata_t.pop_vlan_at_egress"] |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "tbl_act_17" |
| } |
| ] |
| }, |
| { |
| "name" : "egress", |
| "id" : 1, |
| "source_info" : { |
| "filename" : "fabric.p4", |
| "line" : 66, |
| "column" : 8, |
| "source_fragment" : "FabricEgress" |
| }, |
| "init_table" : "node_55", |
| "tables" : [ |
| { |
| "name" : "tbl_act_18", |
| "id" : 33, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [91], |
| "actions" : ["act_18"], |
| "base_default_next" : "node_57", |
| "next_tables" : { |
| "act_18" : "node_57" |
| }, |
| "default_entry" : { |
| "action_id" : 91, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_int_egress_int_hop_cnt_increment", |
| "id" : 34, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [88], |
| "actions" : ["int_egress.int_hop_cnt_increment"], |
| "base_default_next" : "int_egress.int_prep", |
| "next_tables" : { |
| "int_egress.int_hop_cnt_increment" : "int_egress.int_prep" |
| }, |
| "default_entry" : { |
| "action_id" : 88, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "int_egress.int_prep", |
| "id" : 35, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 275, |
| "column" : 10, |
| "source_fragment" : "int_prep" |
| }, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [87, 51], |
| "actions" : ["int_egress.int_transit", "NoAction"], |
| "base_default_next" : "int_egress.int_metadata_insert.int_inst_0003", |
| "next_tables" : { |
| "int_egress.int_transit" : "int_egress.int_metadata_insert.int_inst_0003", |
| "NoAction" : "int_egress.int_metadata_insert.int_inst_0003" |
| }, |
| "default_entry" : { |
| "action_id" : 51, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_inst_0003", |
| "id" : 36, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 117, |
| "column" : 10, |
| "source_fragment" : "int_inst_0003" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "hdr.int_header.instruction_mask_0003", |
| "target" : ["int_header", "instruction_mask_0003"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 17, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], |
| "actions" : ["int_egress.int_metadata_insert.int_set_header_0003_i0", "int_egress.int_metadata_insert.int_set_header_0003_i1", "int_egress.int_metadata_insert.int_set_header_0003_i2", "int_egress.int_metadata_insert.int_set_header_0003_i3", "int_egress.int_metadata_insert.int_set_header_0003_i4", "int_egress.int_metadata_insert.int_set_header_0003_i5", "int_egress.int_metadata_insert.int_set_header_0003_i6", "int_egress.int_metadata_insert.int_set_header_0003_i7", "int_egress.int_metadata_insert.int_set_header_0003_i8", "int_egress.int_metadata_insert.int_set_header_0003_i9", "int_egress.int_metadata_insert.int_set_header_0003_i10", "int_egress.int_metadata_insert.int_set_header_0003_i11", "int_egress.int_metadata_insert.int_set_header_0003_i12", "int_egress.int_metadata_insert.int_set_header_0003_i13", "int_egress.int_metadata_insert.int_set_header_0003_i14", "int_egress.int_metadata_insert.int_set_header_0003_i15"], |
| "base_default_next" : "int_egress.int_metadata_insert.int_inst_0407", |
| "next_tables" : { |
| "int_egress.int_metadata_insert.int_set_header_0003_i0" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i1" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i2" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i3" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i4" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i5" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i6" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i7" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i8" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i9" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i10" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i11" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i12" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i13" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i14" : "int_egress.int_metadata_insert.int_inst_0407", |
| "int_egress.int_metadata_insert.int_set_header_0003_i15" : "int_egress.int_metadata_insert.int_inst_0407" |
| }, |
| "default_entry" : { |
| "action_id" : 52, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "int_egress.int_metadata_insert.int_inst_0407", |
| "id" : 37, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 208, |
| "column" : 10, |
| "source_fragment" : "int_inst_0407" |
| }, |
| "key" : [ |
| { |
| "match_type" : "exact", |
| "name" : "hdr.int_header.instruction_mask_0407", |
| "target" : ["int_header", "instruction_mask_0407"], |
| "mask" : null |
| } |
| ], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 17, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83], |
| "actions" : ["int_egress.int_metadata_insert.int_set_header_0407_i0", "int_egress.int_metadata_insert.int_set_header_0407_i1", "int_egress.int_metadata_insert.int_set_header_0407_i2", "int_egress.int_metadata_insert.int_set_header_0407_i3", "int_egress.int_metadata_insert.int_set_header_0407_i4", "int_egress.int_metadata_insert.int_set_header_0407_i5", "int_egress.int_metadata_insert.int_set_header_0407_i6", "int_egress.int_metadata_insert.int_set_header_0407_i7", "int_egress.int_metadata_insert.int_set_header_0407_i8", "int_egress.int_metadata_insert.int_set_header_0407_i9", "int_egress.int_metadata_insert.int_set_header_0407_i10", "int_egress.int_metadata_insert.int_set_header_0407_i11", "int_egress.int_metadata_insert.int_set_header_0407_i12", "int_egress.int_metadata_insert.int_set_header_0407_i13", "int_egress.int_metadata_insert.int_set_header_0407_i14", "int_egress.int_metadata_insert.int_set_header_0407_i15"], |
| "base_default_next" : "node_63", |
| "next_tables" : { |
| "int_egress.int_metadata_insert.int_set_header_0407_i0" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i1" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i2" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i3" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i4" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i5" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i6" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i7" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i8" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i9" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i10" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i11" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i12" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i13" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i14" : "node_63", |
| "int_egress.int_metadata_insert.int_set_header_0407_i15" : "node_63" |
| }, |
| "default_entry" : { |
| "action_id" : 68, |
| "action_const" : false, |
| "action_data" : [], |
| "action_entry_const" : false |
| } |
| }, |
| { |
| "name" : "tbl_int_egress_int_outer_encap_int_update_ipv4", |
| "id" : 38, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [84], |
| "actions" : ["int_egress.int_outer_encap.int_update_ipv4"], |
| "base_default_next" : "node_65", |
| "next_tables" : { |
| "int_egress.int_outer_encap.int_update_ipv4" : "node_65" |
| }, |
| "default_entry" : { |
| "action_id" : 84, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_int_egress_int_outer_encap_int_update_udp", |
| "id" : 39, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [85], |
| "actions" : ["int_egress.int_outer_encap.int_update_udp"], |
| "base_default_next" : "node_67", |
| "next_tables" : { |
| "int_egress.int_outer_encap.int_update_udp" : "node_67" |
| }, |
| "default_entry" : { |
| "action_id" : 85, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_int_egress_int_outer_encap_int_update_shim", |
| "id" : 40, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [86], |
| "actions" : ["int_egress.int_outer_encap.int_update_shim"], |
| "base_default_next" : "tbl_act_19", |
| "next_tables" : { |
| "int_egress.int_outer_encap.int_update_shim" : "tbl_act_19" |
| }, |
| "default_entry" : { |
| "action_id" : 86, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_int_egress_int_hop_cnt_exceeded", |
| "id" : 41, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [89], |
| "actions" : ["int_egress.int_hop_cnt_exceeded"], |
| "base_default_next" : "tbl_act_19", |
| "next_tables" : { |
| "int_egress.int_hop_cnt_exceeded" : "tbl_act_19" |
| }, |
| "default_entry" : { |
| "action_id" : 89, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_act_19", |
| "id" : 42, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [92], |
| "actions" : ["act_19"], |
| "base_default_next" : "node_71", |
| "next_tables" : { |
| "act_19" : "node_71" |
| }, |
| "default_entry" : { |
| "action_id" : 92, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| }, |
| { |
| "name" : "tbl_spgw_egress_gtpu_encap", |
| "id" : 43, |
| "key" : [], |
| "match_type" : "exact", |
| "type" : "simple", |
| "max_size" : 1024, |
| "with_counters" : false, |
| "support_timeout" : false, |
| "direct_meters" : null, |
| "action_ids" : [90], |
| "actions" : ["spgw_egress.gtpu_encap"], |
| "base_default_next" : null, |
| "next_tables" : { |
| "spgw_egress.gtpu_encap" : null |
| }, |
| "default_entry" : { |
| "action_id" : 90, |
| "action_const" : true, |
| "action_data" : [], |
| "action_entry_const" : true |
| } |
| } |
| ], |
| "action_profiles" : [], |
| "conditionals" : [ |
| { |
| "name" : "node_55", |
| "id" : 18, |
| "source_info" : { |
| "filename" : "include/control/packetio.p4", |
| "line" : 38, |
| "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_act_18", |
| "false_next" : "node_57" |
| }, |
| { |
| "name" : "node_57", |
| "id" : 19, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 288, |
| "column" : 11, |
| "source_fragment" : "hdr.int_header.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["int_header", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "node_58", |
| "false_next" : "tbl_act_19" |
| }, |
| { |
| "name" : "node_58", |
| "id" : 20, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 289, |
| "column" : 15, |
| "source_fragment" : "hdr.int_header.total_hop_cnt != hdr.int_header.max_hop_cnt && ..." |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "and", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "!=", |
| "left" : { |
| "type" : "field", |
| "value" : ["int_header", "total_hop_cnt"] |
| }, |
| "right" : { |
| "type" : "field", |
| "value" : ["int_header", "max_hop_cnt"] |
| } |
| } |
| }, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["int_header", "e"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x00" |
| } |
| } |
| } |
| } |
| }, |
| "true_next" : "tbl_int_egress_int_hop_cnt_increment", |
| "false_next" : "tbl_int_egress_int_hop_cnt_exceeded" |
| }, |
| { |
| "name" : "node_63", |
| "id" : 21, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 255, |
| "column" : 12, |
| "source_fragment" : "hdr.ipv4.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_int_egress_int_outer_encap_int_update_ipv4", |
| "false_next" : "node_65" |
| }, |
| { |
| "name" : "node_65", |
| "id" : 22, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 258, |
| "column" : 12, |
| "source_fragment" : "hdr.udp.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["udp", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_int_egress_int_outer_encap_int_update_udp", |
| "false_next" : "node_67" |
| }, |
| { |
| "name" : "node_67", |
| "id" : 23, |
| "source_info" : { |
| "filename" : "include/int_transit.p4", |
| "line" : 261, |
| "column" : 12, |
| "source_fragment" : "hdr.intl4_shim.isValid()" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["intl4_shim", "$valid$"] |
| } |
| } |
| }, |
| "true_next" : "tbl_int_egress_int_outer_encap_int_update_shim", |
| "false_next" : "tbl_act_19" |
| }, |
| { |
| "name" : "node_71", |
| "id" : 24, |
| "source_info" : { |
| "filename" : "include/spgw.p4", |
| "line" : 247, |
| "column" : 12, |
| "source_fragment" : "spgw_meta.do_spgw == 1w1 && spgw_meta.direction == DIR_DOWNLINK" |
| }, |
| "expression" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "and", |
| "left" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "do_spgw"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| }, |
| "right" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "==", |
| "left" : { |
| "type" : "field", |
| "value" : ["userMetadata.spgw", "direction"] |
| }, |
| "right" : { |
| "type" : "hexstr", |
| "value" : "0x01" |
| } |
| } |
| } |
| } |
| }, |
| "false_next" : null, |
| "true_next" : "tbl_spgw_egress_gtpu_encap" |
| } |
| ] |
| } |
| ], |
| "checksums" : [ |
| { |
| "name" : "cksum", |
| "id" : 0, |
| "target" : ["ipv4", "hdr_checksum"], |
| "type" : "generic", |
| "calculation" : "calc", |
| "if_cond" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| } |
| }, |
| { |
| "name" : "cksum_0", |
| "id" : 1, |
| "target" : ["ipv4", "hdr_checksum"], |
| "type" : "generic", |
| "calculation" : "calc_0", |
| "if_cond" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["ipv4", "$valid$"] |
| } |
| } |
| } |
| }, |
| { |
| "name" : "cksum_1", |
| "id" : 2, |
| "target" : ["gtpu_ipv4", "hdr_checksum"], |
| "type" : "generic", |
| "calculation" : "calc_1", |
| "if_cond" : { |
| "type" : "expression", |
| "value" : { |
| "op" : "d2b", |
| "left" : null, |
| "right" : { |
| "type" : "field", |
| "value" : ["gtpu_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.lf_field_list", |
| ["standard_metadata", "lf_field_list"] |
| ], |
| [ |
| "intrinsic_metadata.mcast_grp", |
| ["standard_metadata", "mcast_grp"] |
| ], |
| [ |
| "intrinsic_metadata.resubmit_flag", |
| ["standard_metadata", "resubmit_flag"] |
| ], |
| [ |
| "intrinsic_metadata.egress_rid", |
| ["standard_metadata", "egress_rid"] |
| ], |
| [ |
| "intrinsic_metadata.recirculate_flag", |
| ["standard_metadata", "recirculate_flag"] |
| ] |
| ] |
| } |