Fixing packet_io and regenerating default.p4 for tofino

Change-Id: I5c2c6565f71a13b375a8ec8da864e9157b8e56ed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/p4_name_lookup.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/p4_name_lookup.json
index b507e45..329eff9 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/p4_name_lookup.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/p4_name_lookup.json
@@ -11,13 +11,14 @@
                 "6": "default_parser", 
                 "7": "parse_pkt_out", 
                 "8": "<POV initialization>", 
-                "9": "start"
+                "9": "start", 
+                "10": "parse_tcp"
             }, 
             "pov": {
                 "0": {
                     "0": "--pov_reserved--_0"
                 }, 
-                "67": {
+                "66": {
                     "0": "packet_in_hdr", 
                     "1": "packet_out_hdr", 
                     "2": "ethernet", 
@@ -40,7 +41,7 @@
                 "8": "parse_pkt_in"
             }, 
             "pov": {
-                "82": {
+                "81": {
                     "0": "packet_in_hdr", 
                     "1": "packet_out_hdr", 
                     "2": "ethernet", 
@@ -57,28 +58,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -91,6 +87,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -100,9 +98,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -111,12 +110,21 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {
                 "0": {
                     "actions": {
-                        "_packet_out": {
+                        "_drop": {
+                            "direction": 0, 
+                            "primitives": [
+                                {
+                                    "name": "DropPrimitive"
+                                }
+                            ], 
+                            "table_name": "table0"
+                        }, 
+                        "send_to_cpu": {
                             "direction": 0, 
                             "primitives": [
                                 {
@@ -136,44 +144,13 @@
                                     "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"
+                                            "name": 192, 
+                                            "type": "immediate"
                                         }
                                     ]
                                 }, 
                                 {
                                     "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"
                                     }, 
@@ -188,7 +165,7 @@
                                                 "field_instance_most_significant_bit": 8, 
                                                 "phv_container_least_significant_bit": 7, 
                                                 "phv_container_most_significant_bit": 15, 
-                                                "word_address": 145
+                                                "word_address": 129
                                             }
                                         ], 
                                         "type": "phv"
@@ -203,7 +180,7 @@
                                                     "field_instance_most_significant_bit": 8, 
                                                     "phv_container_least_significant_bit": 0, 
                                                     "phv_container_most_significant_bit": 8, 
-                                                    "word_address": 144
+                                                    "word_address": 128
                                                 }
                                             ], 
                                             "type": "phv"
@@ -211,117 +188,6 @@
                                     ]
                                 }
                             ], 
-                            "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 [ethernet.dstAddr[39:8]]", 
-                "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
-                "132": "I [ethernet.etherType]", 
-                "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.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
-                "257": "I [ipv4.srcAddr]", 
-                "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
-                "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
-                "265": "E [ipv4.srcAddr]", 
-                "266": "E [ipv4.dstAddr]", 
-                "267": "E [tcp.ackNo, udp.length_, udp.checksum]", 
-                "268": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "269": "E [tcp.checksum, tcp.urgentPtr]", 
-                "270": "E [ethernet.dstAddr[39:8]]", 
-                "271": "E [ethernet.srcAddr[31:0]]", 
-                "288": "I [ipv4.version, ipv4.ihl]", 
-                "289": "I [ipv4.diffserv]", 
-                "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
-                "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
-                "296": "E [ipv4.version, ipv4.ihl]", 
-                "297": "E [ipv4.diffserv]", 
-                "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
-                "299": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
-                "300": "E [ethernet.dstAddr[47:40]]", 
-                "301": "E [ethernet.srcAddr[39:32]]", 
-                "320": "I [ipv4.totalLen]", 
-                "321": "I [ipv4.identification]", 
-                "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
-                "332": "E [ipv4.totalLen]", 
-                "333": "E [ipv4.identification]", 
-                "334": "E [ipv4.flags, ipv4.fragOffset]", 
-                "335": "E [tcp.dstPort]", 
-                "336": "E [tcp.seqNo[31:16], udp.dstPort]", 
-                "337": "E [tcp.seqNo[15:0]]", 
-                "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
-                "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
-            }, 
-            "logical_tables": {
-                "0": {
-                    "actions": {
-                        "_drop": {
-                            "direction": 0, 
-                            "primitives": [
-                                {
-                                    "name": "DropPrimitive"
-                                }
-                            ], 
-                            "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": {
@@ -365,7 +231,7 @@
                                 "field_instance_most_significant_bit": 47, 
                                 "phv_container_least_significant_bit": 0, 
                                 "phv_container_most_significant_bit": 7, 
-                                "word_address": 65
+                                "word_address": 64
                             }, 
                             {
                                 "field_instance_least_significant_bit": 8, 
@@ -404,7 +270,7 @@
                                 "field_instance_most_significant_bit": 39, 
                                 "phv_container_least_significant_bit": 0, 
                                 "phv_container_most_significant_bit": 7, 
-                                "word_address": 66
+                                "word_address": 65
                             }, 
                             {
                                 "field_instance_least_significant_bit": 0, 
@@ -425,37 +291,85 @@
                         ]
                     }, 
                     "table_name": "table0"
+                }, 
+                "1": {
+                    "actions": {
+                        "_process_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": "process_packet_out_table"
+                        }
+                    }, 
+                    "instruction_addresses": {
+                        "68": "_process_packet_out"
+                    }, 
+                    "match_fields": {}, 
+                    "table_name": "process_packet_out_table"
                 }
             }, 
             "stateful_tables": []
         }, 
-        "2": {
+        "1": {
             "containers": {
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -468,6 +382,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -477,9 +393,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -488,7 +405,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {
                 "0": {
@@ -538,33 +455,28 @@
             }, 
             "stateful_tables": []
         }, 
-        "3": {
+        "2": {
             "containers": {
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -577,6 +489,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -586,9 +500,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -597,7 +512,69 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
+            }, 
+            "logical_tables": {}, 
+            "stateful_tables": []
+        }, 
+        "3": {
+            "containers": {
+                "0": "I [POV[31:0]]", 
+                "1": "I [ethernet.dstAddr[39:8]]", 
+                "2": "I [ethernet.srcAddr[31:0]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
+                "132": "I [ethernet.etherType]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
+                "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
+                "257": "I [ipv4.srcAddr]", 
+                "258": "I [ipv4.dstAddr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
+                "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
+                "265": "E [ipv4.srcAddr]", 
+                "266": "E [ipv4.dstAddr]", 
+                "267": "E [tcp.ackNo, udp.length_, udp.checksum]", 
+                "268": "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
+                "269": "E [tcp.checksum, tcp.urgentPtr]", 
+                "270": "E [ethernet.dstAddr[39:8]]", 
+                "271": "E [ethernet.srcAddr[31:0]]", 
+                "288": "I [ipv4.version, ipv4.ihl]", 
+                "289": "I [ipv4.diffserv]", 
+                "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
+                "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
+                "296": "E [ipv4.version, ipv4.ihl]", 
+                "297": "E [ipv4.diffserv]", 
+                "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
+                "299": "E [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "300": "E [ethernet.dstAddr[47:40]]", 
+                "301": "E [ethernet.srcAddr[39:32]]", 
+                "320": "I [ipv4.totalLen]", 
+                "321": "I [ipv4.identification]", 
+                "322": "I [ipv4.flags, ipv4.fragOffset]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
+                "332": "E [ipv4.totalLen]", 
+                "333": "E [ipv4.identification]", 
+                "334": "E [ipv4.flags, ipv4.fragOffset]", 
+                "335": "E [tcp.dstPort]", 
+                "336": "E [tcp.seqNo[31:16], udp.dstPort]", 
+                "337": "E [tcp.seqNo[15:0]]", 
+                "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
+                "339": "E [ethernet.etherType]", 
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -607,28 +584,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -641,6 +613,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -650,9 +624,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -661,7 +636,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -671,28 +646,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -705,6 +675,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -714,9 +686,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -725,7 +698,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -735,28 +708,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -769,6 +737,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -778,9 +748,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -789,7 +760,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -799,28 +770,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -833,6 +799,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -842,9 +810,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -853,7 +822,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -863,28 +832,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -897,6 +861,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -906,9 +872,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -917,7 +884,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -927,28 +894,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -961,6 +923,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -970,9 +934,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -981,7 +946,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -991,28 +956,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -1025,6 +985,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -1034,9 +996,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -1045,7 +1008,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []
@@ -1055,28 +1018,23 @@
                 "0": "I [POV[31:0]]", 
                 "1": "I [ethernet.dstAddr[39:8]]", 
                 "2": "I [ethernet.srcAddr[31:0]]", 
-                "64": "I [ig_intr_md_for_tm.copy_to_cpu]", 
-                "65": "I [ethernet.dstAddr[47:40]]", 
-                "66": "I [ethernet.srcAddr[39:32]]", 
-                "67": "I [POV[39:32]]", 
-                "68": "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]]", 
+                "64": "I [ethernet.dstAddr[47:40]]", 
+                "65": "I [ethernet.srcAddr[39:32]]", 
+                "66": "I [POV[39:32]]", 
+                "67": "I [ig_intr_md_for_tm.drop_ctl]", 
+                "80": "E [eg_intr_md._pad7, eg_intr_md.egress_cos]", 
+                "81": "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 [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "132": "I [ethernet.etherType]", 
-                "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]", 
+                "144": "E [eg_intr_md._pad0, eg_intr_md.egress_port]", 
                 "256": "I [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "257": "I [ipv4.srcAddr]", 
                 "258": "I [ipv4.dstAddr]", 
-                "259": "I [tcp.ackNo, udp.length_, udp.checksum]", 
-                "260": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]", 
-                "261": "I [tcp.checksum, tcp.urgentPtr]", 
+                "259": "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]", 
+                "260": "I [tcp.checksum, tcp.urgentPtr]", 
                 "264": "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]", 
                 "265": "E [ipv4.srcAddr]", 
                 "266": "E [ipv4.dstAddr]", 
@@ -1089,6 +1047,8 @@
                 "289": "I [ipv4.diffserv]", 
                 "290": "I [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
                 "291": "I [tcp.srcPort[7:0], udp.srcPort[7:0]]", 
+                "292": "I [tcp.dstPort[15:8]]", 
+                "293": "I [tcp.dstPort[7:0]]", 
                 "296": "E [ipv4.version, ipv4.ihl]", 
                 "297": "E [ipv4.diffserv]", 
                 "298": "E [tcp.srcPort[15:8], udp.srcPort[15:8]]", 
@@ -1098,9 +1058,10 @@
                 "320": "I [ipv4.totalLen]", 
                 "321": "I [ipv4.identification]", 
                 "322": "I [ipv4.flags, ipv4.fragOffset]", 
-                "323": "I [tcp.dstPort, udp.dstPort]", 
-                "324": "I [tcp.seqNo[31:16]]", 
-                "325": "I [tcp.seqNo[15:0]]", 
+                "323": "I [tcp.seqNo[31:16], udp.dstPort]", 
+                "324": "I [tcp.seqNo[15:0]]", 
+                "325": "I [tcp.ackNo[31:16]]", 
+                "326": "I [tcp.ackNo[15:0]]", 
                 "332": "E [ipv4.totalLen]", 
                 "333": "E [ipv4.identification]", 
                 "334": "E [ipv4.flags, ipv4.fragOffset]", 
@@ -1109,7 +1070,7 @@
                 "337": "E [tcp.seqNo[15:0]]", 
                 "338": "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]", 
                 "339": "E [ethernet.etherType]", 
-                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding]"
+                "340": "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"
             }, 
             "logical_tables": {}, 
             "stateful_tables": []