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