Support for Tofino pipeconfs in ECMP app
Change-Id: I34c16f5f349c480f53b1bfc6a1fd91ec5a328ee3
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/p4_name_lookup.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/p4_name_lookup.json
new file mode 100644
index 0000000..275d643
--- /dev/null
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/p4_name_lookup.json
@@ -0,0 +1,1256 @@
+{
+ "directions": {
+ "0": {
+ "parser_states": {
+ "0": "<Shim start state>",
+ "1": "parse_pkt_in",
+ "2": "parse_ethernet",
+ "3": "parse_ipv4",
+ "4": "parse_tcp",
+ "5": "parse_udp",
+ "6": "default_parser",
+ "7": "parse_pkt_out",
+ "8": "<POV initialization>",
+ "9": "start"
+ },
+ "pov": {
+ "0": {
+ "0": "--pov_reserved--_0"
+ },
+ "68": {
+ "0": "packet_in_hdr",
+ "1": "packet_out_hdr",
+ "2": "ethernet",
+ "3": "ipv4",
+ "4": "tcp",
+ "5": "udp"
+ }
+ }
+ },
+ "1": {
+ "parser_states": {
+ "0": "<Shim start state>",
+ "1": "parse_ethernet",
+ "2": "parse_ipv4",
+ "3": "parse_tcp",
+ "4": "parse_udp",
+ "5": "default_parser",
+ "6": "parse_pkt_out",
+ "7": "<POV initialization>",
+ "8": "parse_pkt_in"
+ },
+ "pov": {
+ "82": {
+ "0": "packet_in_hdr",
+ "1": "packet_out_hdr",
+ "2": "ethernet",
+ "3": "ipv4",
+ "4": "tcp",
+ "5": "udp"
+ }
+ }
+ }
+ },
+ "stages": {
+ "0": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {
+ "0": {
+ "actions": {
+ "_packet_out": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "ig_intr_md_for_tm.ucast_egress_port",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 8,
+ "word_address": 130
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "ModifyFieldPrimitive",
+ "src": [
+ {
+ "name": "packet_out_hdr.egress_port",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 7,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 129
+ }
+ ],
+ "type": "phv"
+ }
+ ]
+ },
+ {
+ "dst": {
+ "name": "packet_out_hdr",
+ "type": "header"
+ },
+ "name": "RemoveHeaderPrimitive"
+ }
+ ],
+ "table_name": "ingress_pkt"
+ }
+ },
+ "instruction_addresses": {
+ "65": "_packet_out"
+ },
+ "match_fields": {},
+ "table_name": "ingress_pkt"
+ },
+ "1": {
+ "actions": {
+ "add_packet_in_hdr": {
+ "direction": 1,
+ "primitives": [
+ {
+ "dst": {
+ "name": "packet_in_hdr",
+ "type": "header"
+ },
+ "name": "AddHeaderPrimitive"
+ },
+ {
+ "dst": {
+ "name": "packet_in_hdr.ingress_port",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 7,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 145
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "ModifyFieldPrimitive",
+ "src": [
+ {
+ "name": "ig_intr_md.ingress_port",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 8,
+ "word_address": 144
+ }
+ ],
+ "type": "phv"
+ }
+ ]
+ }
+ ],
+ "table_name": "egress_pkt"
+ }
+ },
+ "instruction_addresses": {
+ "65": "add_packet_in_hdr"
+ },
+ "match_fields": {},
+ "table_name": "egress_pkt"
+ }
+ },
+ "stateful_tables": []
+ },
+ "1": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {
+ "0": {
+ "actions": {
+ "_drop": {
+ "direction": 0,
+ "primitives": [
+ {
+ "name": "DropPrimitive"
+ }
+ ],
+ "table_name": "table0"
+ },
+ "ecmp_group": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "ecmp_metadata.groupId",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 15,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 134
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "ModifyFieldPrimitive",
+ "src": [
+ {
+ "name": "groupId",
+ "type": "action_param"
+ }
+ ]
+ },
+ {
+ "dst": {
+ "name": "ecmp_metadata.selector",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 15,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 135
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "SetFieldToHashIndexPrimitive"
+ }
+ ],
+ "table_name": "table0"
+ },
+ "send_to_cpu": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "ig_intr_md_for_tm.copy_to_cpu",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 0,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 0,
+ "word_address": 64
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "ModifyFieldPrimitive",
+ "src": [
+ {
+ "name": 1,
+ "type": "immediate"
+ }
+ ]
+ }
+ ],
+ "table_name": "table0"
+ },
+ "set_egress_port": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "ig_intr_md_for_tm.ucast_egress_port",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 8,
+ "word_address": 130
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "ModifyFieldPrimitive",
+ "src": [
+ {
+ "name": "port",
+ "type": "action_param"
+ }
+ ]
+ }
+ ],
+ "table_name": "table0"
+ }
+ },
+ "instruction_addresses": {
+ "65": "set_egress_port",
+ "66": "ecmp_group",
+ "67": "send_to_cpu",
+ "68": "_drop"
+ },
+ "match_fields": {
+ "ethernet_dstAddr": [
+ {
+ "field_instance_least_significant_bit": 40,
+ "field_instance_most_significant_bit": 47,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 7,
+ "word_address": 66
+ },
+ {
+ "field_instance_least_significant_bit": 8,
+ "field_instance_most_significant_bit": 39,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 31,
+ "word_address": 3
+ },
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 7,
+ "phv_container_least_significant_bit": 8,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 132
+ }
+ ],
+ "ethernet_etherType": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 15,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 133
+ }
+ ],
+ "ethernet_srcAddr": [
+ {
+ "field_instance_least_significant_bit": 40,
+ "field_instance_most_significant_bit": 47,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 7,
+ "word_address": 132
+ },
+ {
+ "field_instance_least_significant_bit": 32,
+ "field_instance_most_significant_bit": 39,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 7,
+ "word_address": 67
+ },
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 31,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 31,
+ "word_address": 4
+ }
+ ],
+ "ig_intr_md_ingress_port": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 8,
+ "word_address": 128
+ }
+ ]
+ },
+ "table_name": "table0"
+ }
+ },
+ "stateful_tables": []
+ },
+ "2": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {
+ "0": {
+ "actions": {
+ "set_egress_port": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "ig_intr_md_for_tm.ucast_egress_port",
+ "phv_allocation": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 8,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 8,
+ "word_address": 130
+ }
+ ],
+ "type": "phv"
+ },
+ "name": "ModifyFieldPrimitive",
+ "src": [
+ {
+ "name": "port",
+ "type": "action_param"
+ }
+ ]
+ }
+ ],
+ "table_name": "ecmp_group_table"
+ }
+ },
+ "instruction_addresses": {
+ "65": "set_egress_port"
+ },
+ "match_fields": {
+ "ecmp_metadata_groupId": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 15,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 134
+ }
+ ],
+ "ecmp_metadata_selector": [
+ {
+ "field_instance_least_significant_bit": 0,
+ "field_instance_most_significant_bit": 15,
+ "phv_container_least_significant_bit": 0,
+ "phv_container_most_significant_bit": 15,
+ "word_address": 135
+ }
+ ]
+ },
+ "table_name": "ecmp_group_table"
+ }
+ },
+ "stateful_tables": []
+ },
+ "3": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {
+ "0": {
+ "actions": {
+ "count_ingress": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "ingress_port_counter",
+ "type": "counter"
+ },
+ "name": "CountPrimitive"
+ }
+ ],
+ "table_name": "ingress_port_count_table"
+ }
+ },
+ "instruction_addresses": {
+ "64": "count_ingress"
+ },
+ "match_fields": {},
+ "table_name": "ingress_port_count_table"
+ },
+ "1": {
+ "actions": {
+ "count_egress": {
+ "direction": 0,
+ "primitives": [
+ {
+ "dst": {
+ "name": "egress_port_counter",
+ "type": "counter"
+ },
+ "name": "CountPrimitive"
+ }
+ ],
+ "table_name": "egress_port_count_table"
+ }
+ },
+ "instruction_addresses": {
+ "64": "count_egress"
+ },
+ "match_fields": {},
+ "table_name": "egress_port_count_table"
+ }
+ },
+ "stateful_tables": []
+ },
+ "4": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "5": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "6": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "7": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "8": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "9": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "10": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ },
+ "11": {
+ "containers": {
+ "0": "I [POV[31:0]]",
+ "1": "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]",
+ "2": "I [ipv4.dstAddr]",
+ "3": "I [ethernet.dstAddr[39:8]]",
+ "4": "I [ethernet.srcAddr[31:0]]",
+ "5": "I [udp.srcPort, udp.dstPort]",
+ "64": "I [ig_intr_md_for_tm.copy_to_cpu]",
+ "65": "I [ipv4.srcAddr[23:16]]",
+ "66": "I [ethernet.dstAddr[47:40]]",
+ "67": "I [ethernet.srcAddr[39:32]]",
+ "68": "I [POV[39:32]]",
+ "69": "I [ig_intr_md_for_tm.drop_ctl]",
+ "80": "E [ig_intr_md_for_tm.copy_to_cpu]",
+ "81": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]",
+ "82": "E [POV[7:0]]",
+ "128": "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]",
+ "129": "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "130": "I [ig_intr_md_for_tm.ucast_egress_port]",
+ "131": "I [ipv4.srcAddr[15:0]]",
+ "132": "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "133": "I [ethernet.etherType]",
+ "134": "I [ecmp_metadata.groupId]",
+ "135": "I [ecmp_metadata.selector]",
+ "144": "E [ig_intr_md.ingress_port]",
+ "145": "E [packet_in_hdr.ingress_port, packet_in_hdr._padding]",
+ "146": "E [eg_intr_md._pad0, eg_intr_md.egress_port]",
+ "256": "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]",
+ "257": "I [tcp.ackNo]",
+ "258": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "259": "I [tcp.checksum, tcp.urgentPtr]",
+ "260": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]",
+ "261": "E [ipv4.srcAddr]",
+ "262": "E [ipv4.dstAddr]",
+ "263": "E [tcp.ackNo, udp.length_, udp.checksum]",
+ "264": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]",
+ "265": "E [tcp.checksum, tcp.urgentPtr]",
+ "266": "E [ethernet.dstAddr[39:8]]",
+ "267": "E [ethernet.srcAddr[31:0]]",
+ "288": "I [ipv4.version, ipv4.ihl]",
+ "289": "I [tcp.srcPort[15:8], udp.length_[15:8]]",
+ "290": "I [tcp.srcPort[7:0], udp.length_[7:0]]",
+ "292": "E [ipv4.version, ipv4.ihl]",
+ "293": "E [ipv4.diffserv]",
+ "294": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]",
+ "295": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]",
+ "296": "E [ethernet.dstAddr[47:40]]",
+ "297": "E [ethernet.srcAddr[39:32]]",
+ "320": "I [ipv4.diffserv, ipv4.totalLen[15:8]]",
+ "321": "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]",
+ "322": "I [tcp.dstPort, udp.checksum]",
+ "323": "I [tcp.seqNo[31:16]]",
+ "324": "I [tcp.seqNo[15:0]]",
+ "326": "E [ipv4.totalLen]",
+ "327": "E [ipv4.identification]",
+ "328": "E [ipv4.flags, ipv4.fragOffset]",
+ "329": "E [tcp.dstPort, udp.dstPort]",
+ "330": "E [tcp.seqNo[31:16]]",
+ "331": "E [tcp.seqNo[15:0]]",
+ "332": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]",
+ "333": "E [ethernet.etherType]",
+ "334": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+ },
+ "logical_tables": {},
+ "stateful_tables": []
+ }
+ }
+}
\ No newline at end of file