Tofino compiled output with SPGW fix

Change-Id: I4974e464c654eb3f6cf5392eaa52cae22d167f0b
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/context.json b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/context.json
index c9801ef..93fa036 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/context.json
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "02/01/18 21:22:28",
+  "build_date": "02/04/18 01:26:37",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -12,7 +12,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29,7 +29,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -46,8 +46,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -63,8 +63,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -80,41 +80,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -128,10 +94,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -145,11 +111,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -165,7 +165,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -179,10 +179,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -193,7 +396,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -210,7 +413,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -221,7 +424,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -238,7 +441,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -255,7 +458,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -272,7 +475,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -289,7 +492,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -306,7 +509,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -317,7 +520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -328,7 +531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -345,7 +548,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -362,7 +565,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -379,7 +582,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -396,7 +599,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -413,7 +616,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -430,7 +633,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -447,23 +650,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -475,57 +689,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -539,27 +703,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -573,10 +824,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -587,7 +838,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -601,10 +852,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -615,7 +866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -626,7 +877,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -640,11 +891,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -660,24 +928,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -691,10 +942,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -708,10 +959,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -725,10 +976,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -739,7 +990,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -753,26 +1004,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -784,8 +1052,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -801,8 +1069,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -818,8 +1086,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -835,8 +1103,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -852,11 +1120,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -869,8 +1137,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -886,8 +1154,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -903,8 +1171,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -920,8 +1188,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -937,8 +1205,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -954,8 +1222,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -971,11 +1239,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -988,24 +1256,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1019,295 +1270,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1318,7 +1284,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1335,7 +1301,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1346,7 +1312,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -1363,7 +1329,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1380,7 +1346,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1391,7 +1357,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1402,7 +1368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1413,7 +1379,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1424,7 +1390,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1435,7 +1401,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1452,7 +1418,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1469,7 +1435,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1486,7 +1452,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1503,7 +1469,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1514,7 +1480,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1525,7 +1491,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1542,7 +1508,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1553,7 +1519,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1564,7 +1530,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1575,7 +1541,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1586,7 +1552,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1603,7 +1569,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1614,7 +1580,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1625,7 +1591,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1642,7 +1608,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1653,7 +1619,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1670,7 +1636,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1687,7 +1653,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1704,7 +1670,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1723,7 +1689,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1757,7 +1723,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1791,7 +1757,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1993,12 +1959,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2010,23 +1976,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -2144,7 +2093,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -2216,7 +2165,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -2235,7 +2184,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -2254,7 +2203,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -2561,7 +2510,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2589,7 +2538,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2808,7 +2757,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2819,7 +2768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2830,7 +2779,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2858,7 +2807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2897,7 +2846,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2942,7 +2891,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2953,7 +2902,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2964,7 +2913,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2975,7 +2924,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3082,7 +3031,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3116,7 +3065,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3144,7 +3093,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3161,7 +3110,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3178,7 +3127,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3195,7 +3144,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3212,7 +3161,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3229,7 +3178,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3251,7 +3200,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3268,7 +3217,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3285,8 +3234,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -3302,8 +3251,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -3319,41 +3268,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3367,10 +3282,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3384,11 +3299,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -3404,7 +3353,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3418,10 +3367,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3432,7 +3584,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3449,7 +3601,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3460,7 +3612,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3477,7 +3629,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3494,7 +3646,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3511,7 +3663,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3528,7 +3680,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3545,7 +3697,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3556,7 +3708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3567,7 +3719,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3584,7 +3736,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3601,7 +3753,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3618,7 +3770,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3635,7 +3787,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3652,7 +3804,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3669,7 +3821,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3686,23 +3838,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -3714,57 +3877,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3778,27 +3891,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3812,10 +4012,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3826,7 +4026,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3840,10 +4040,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3854,7 +4054,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3865,7 +4065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3879,11 +4079,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -3899,24 +4116,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -3930,10 +4130,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3947,10 +4147,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3964,10 +4164,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3978,7 +4178,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3992,26 +4192,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -4023,8 +4240,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4040,8 +4257,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4057,8 +4274,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4074,8 +4291,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4091,11 +4308,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -4108,8 +4325,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4125,8 +4342,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4142,8 +4359,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4159,8 +4376,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4176,8 +4393,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4193,8 +4410,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4210,11 +4427,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -4227,24 +4444,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4258,295 +4458,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4557,7 +4472,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4574,7 +4489,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4585,7 +4500,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -4602,7 +4517,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4619,7 +4534,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4630,7 +4545,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4641,7 +4556,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4652,7 +4567,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4663,7 +4578,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4674,7 +4589,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4691,7 +4606,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4708,7 +4623,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4725,7 +4640,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4742,7 +4657,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4753,7 +4668,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4764,7 +4679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4781,7 +4696,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4792,7 +4707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4803,7 +4718,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4814,7 +4729,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4825,7 +4740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4842,7 +4757,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4853,7 +4768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4864,7 +4779,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4881,7 +4796,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4892,7 +4807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4909,7 +4824,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4926,7 +4841,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4943,7 +4858,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4962,7 +4877,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4996,7 +4911,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5030,7 +4945,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5232,12 +5147,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5249,23 +5164,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -5383,7 +5281,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -5455,7 +5353,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -5474,7 +5372,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -5493,7 +5391,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -5800,7 +5698,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5828,7 +5726,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6047,7 +5945,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6058,7 +5956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6069,7 +5967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6097,7 +5995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6136,7 +6034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6181,7 +6079,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6192,7 +6090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6203,7 +6101,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6214,7 +6112,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6321,7 +6219,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6355,7 +6253,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6383,7 +6281,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6400,7 +6298,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6417,7 +6315,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6434,7 +6332,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6451,7 +6349,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6468,7 +6366,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6490,7 +6388,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6507,7 +6405,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6524,8 +6422,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -6541,8 +6439,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -6558,41 +6456,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6606,10 +6470,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6623,11 +6487,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -6643,7 +6541,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6657,10 +6555,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6671,7 +6772,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6688,7 +6789,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6699,7 +6800,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6716,7 +6817,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6733,7 +6834,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6750,7 +6851,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6767,7 +6868,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6784,7 +6885,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -6795,7 +6896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6806,7 +6907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6823,7 +6924,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6840,7 +6941,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6857,7 +6958,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6874,7 +6975,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6891,7 +6992,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6908,7 +7009,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6925,23 +7026,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6953,57 +7065,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7017,27 +7079,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7051,10 +7200,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7065,7 +7214,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7079,10 +7228,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7093,7 +7242,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7104,7 +7253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7118,11 +7267,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7138,24 +7304,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -7169,10 +7318,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7186,10 +7335,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7203,10 +7352,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7217,7 +7366,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7231,26 +7380,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7262,8 +7428,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7279,8 +7445,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7296,8 +7462,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7313,8 +7479,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7330,11 +7496,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -7347,8 +7513,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7364,8 +7530,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7381,8 +7547,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7398,8 +7564,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7415,8 +7581,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7432,8 +7598,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7449,11 +7615,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -7466,24 +7632,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7497,295 +7646,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7796,7 +7660,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7813,7 +7677,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7824,7 +7688,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -7841,7 +7705,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7858,7 +7722,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7869,7 +7733,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7880,7 +7744,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7891,7 +7755,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7902,7 +7766,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7913,7 +7777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7930,7 +7794,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7947,7 +7811,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7964,7 +7828,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7981,7 +7845,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7992,7 +7856,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8003,7 +7867,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8020,7 +7884,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8031,7 +7895,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8042,7 +7906,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8053,7 +7917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8064,7 +7928,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8081,7 +7945,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8092,7 +7956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8103,7 +7967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8120,7 +7984,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8131,7 +7995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8148,7 +8012,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8165,7 +8029,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8182,7 +8046,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8201,7 +8065,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8235,7 +8099,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8269,7 +8133,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8471,12 +8335,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -8488,23 +8352,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -8622,7 +8469,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -8694,7 +8541,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -8713,7 +8560,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -8732,7 +8579,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -9039,7 +8886,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9067,7 +8914,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9286,7 +9133,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9297,7 +9144,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9308,7 +9155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9336,7 +9183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9375,7 +9222,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9420,7 +9267,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9431,7 +9278,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9442,7 +9289,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9453,7 +9300,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9560,7 +9407,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9594,7 +9441,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9622,7 +9469,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9639,7 +9486,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9656,7 +9503,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9673,7 +9520,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9690,7 +9537,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9707,7 +9554,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9729,7 +9576,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9746,7 +9593,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9763,8 +9610,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -9780,8 +9627,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -9797,41 +9644,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9845,10 +9658,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9862,11 +9675,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -9882,7 +9729,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9896,10 +9743,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9910,7 +9960,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9927,7 +9977,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9938,7 +9988,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9955,7 +10005,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9972,7 +10022,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9989,7 +10039,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10006,7 +10056,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10023,7 +10073,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10034,7 +10084,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10045,7 +10095,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10062,7 +10112,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10079,7 +10129,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10096,7 +10146,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10113,7 +10163,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10130,7 +10180,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10147,7 +10197,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10164,23 +10214,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10192,57 +10253,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10256,27 +10267,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10290,10 +10388,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10304,7 +10402,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10318,10 +10416,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10332,7 +10430,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10343,7 +10441,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10357,11 +10455,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10377,24 +10492,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -10408,10 +10506,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10425,10 +10523,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10442,10 +10540,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10456,7 +10554,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10470,26 +10568,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10501,8 +10616,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10518,8 +10633,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10535,8 +10650,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10552,8 +10667,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10569,11 +10684,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10586,8 +10701,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10603,8 +10718,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10620,8 +10735,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10637,8 +10752,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10654,8 +10769,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10671,8 +10786,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10688,11 +10803,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10705,24 +10820,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10736,295 +10834,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11035,7 +10848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11052,7 +10865,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11063,7 +10876,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -11080,7 +10893,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11097,7 +10910,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11108,7 +10921,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11119,7 +10932,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11130,7 +10943,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11141,7 +10954,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11152,7 +10965,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11169,7 +10982,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11186,7 +10999,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11203,7 +11016,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11220,7 +11033,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11231,7 +11044,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11242,7 +11055,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11259,7 +11072,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11270,7 +11083,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11281,7 +11094,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11292,7 +11105,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11303,7 +11116,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11320,7 +11133,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11331,7 +11144,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11342,7 +11155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11359,7 +11172,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11370,7 +11183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11387,7 +11200,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11404,7 +11217,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11421,7 +11234,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11440,7 +11253,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11474,7 +11287,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11508,7 +11321,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11710,12 +11523,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11727,23 +11540,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -11861,7 +11657,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -11933,7 +11729,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -11952,7 +11748,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -11971,7 +11767,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -12278,7 +12074,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12306,7 +12102,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12525,7 +12321,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12536,7 +12332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12547,7 +12343,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12575,7 +12371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12614,7 +12410,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12659,7 +12455,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12670,7 +12466,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12681,7 +12477,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12692,7 +12488,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12799,7 +12595,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12833,7 +12629,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12861,7 +12657,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12878,7 +12674,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12895,7 +12691,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12912,7 +12708,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12929,7 +12725,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12946,7 +12742,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12968,7 +12764,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12985,7 +12781,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13002,8 +12798,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -13019,8 +12815,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -13036,41 +12832,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13084,10 +12846,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13101,11 +12863,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -13121,7 +12917,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13135,10 +12931,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13149,7 +13148,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13166,7 +13165,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13177,7 +13176,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13194,7 +13193,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13211,7 +13210,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13228,7 +13227,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13245,7 +13244,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13262,7 +13261,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -13273,7 +13272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13284,7 +13283,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13301,7 +13300,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13318,7 +13317,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13335,7 +13334,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13352,7 +13351,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13369,7 +13368,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13386,7 +13385,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13403,23 +13402,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -13431,57 +13441,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13495,27 +13455,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13529,10 +13576,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13543,7 +13590,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13557,10 +13604,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13571,7 +13618,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13582,7 +13629,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13596,11 +13643,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13616,24 +13680,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13647,10 +13694,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13664,10 +13711,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13681,10 +13728,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13695,7 +13742,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13709,26 +13756,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -13740,8 +13804,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13757,8 +13821,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13774,8 +13838,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13791,8 +13855,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13808,11 +13872,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -13825,8 +13889,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13842,8 +13906,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13859,8 +13923,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13876,8 +13940,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13893,8 +13957,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13910,8 +13974,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13927,11 +13991,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -13944,24 +14008,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13975,295 +14022,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14274,7 +14036,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14291,7 +14053,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14302,7 +14064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -14319,7 +14081,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14336,7 +14098,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14347,7 +14109,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14358,7 +14120,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14369,7 +14131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14380,7 +14142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14391,7 +14153,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14408,7 +14170,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14425,7 +14187,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14442,7 +14204,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14459,7 +14221,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14470,7 +14232,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14481,7 +14243,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14498,7 +14260,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14509,7 +14271,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14520,7 +14282,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14531,7 +14293,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14542,7 +14304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14559,7 +14321,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14570,7 +14332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14581,7 +14343,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14598,7 +14360,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14609,7 +14371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14626,7 +14388,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14643,7 +14405,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14660,7 +14422,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14679,7 +14441,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14713,7 +14475,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14747,7 +14509,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14949,12 +14711,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -14966,23 +14728,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -15100,7 +14845,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -15172,7 +14917,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -15191,7 +14936,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -15210,7 +14955,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -15517,7 +15262,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15545,7 +15290,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15764,7 +15509,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15775,7 +15520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15786,7 +15531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15814,7 +15559,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15853,7 +15598,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15898,7 +15643,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15909,7 +15654,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15920,7 +15665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15931,7 +15676,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16038,7 +15783,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16072,7 +15817,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16100,7 +15845,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16117,7 +15862,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16134,7 +15879,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16151,7 +15896,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16168,7 +15913,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16185,7 +15930,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16207,7 +15952,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16224,7 +15969,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16241,8 +15986,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -16258,8 +16003,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -16275,41 +16020,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16323,10 +16034,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16340,11 +16051,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -16360,7 +16105,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16374,10 +16119,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16388,7 +16336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16405,7 +16353,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16416,7 +16364,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16433,7 +16381,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16450,7 +16398,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16467,7 +16415,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16484,7 +16432,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16501,7 +16449,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -16512,7 +16460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16523,7 +16471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16540,7 +16488,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16557,7 +16505,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16574,7 +16522,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16591,7 +16539,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16608,7 +16556,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16625,7 +16573,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16642,23 +16590,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16670,57 +16629,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16734,27 +16643,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16768,10 +16764,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16782,7 +16778,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16796,10 +16792,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16810,7 +16806,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16821,7 +16817,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16835,11 +16831,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -16855,24 +16868,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -16886,10 +16882,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16903,10 +16899,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16920,10 +16916,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16934,7 +16930,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16948,26 +16944,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16979,8 +16992,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -16996,8 +17009,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17013,8 +17026,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17030,8 +17043,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17047,11 +17060,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -17064,8 +17077,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17081,8 +17094,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17098,8 +17111,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17115,8 +17128,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17132,8 +17145,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17149,8 +17162,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17166,11 +17179,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -17183,24 +17196,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17214,295 +17210,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17513,7 +17224,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17530,7 +17241,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17541,7 +17252,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -17558,7 +17269,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17575,7 +17286,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17586,7 +17297,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17597,7 +17308,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17608,7 +17319,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17619,7 +17330,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17630,7 +17341,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17647,7 +17358,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17664,7 +17375,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17681,7 +17392,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17698,7 +17409,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17709,7 +17420,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17720,7 +17431,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17737,7 +17448,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17748,7 +17459,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17759,7 +17470,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17770,7 +17481,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17781,7 +17492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17798,7 +17509,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17809,7 +17520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17820,7 +17531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17837,7 +17548,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17848,7 +17559,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17865,7 +17576,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17882,7 +17593,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17899,7 +17610,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17918,7 +17629,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17952,7 +17663,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17986,7 +17697,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -18188,12 +17899,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -18205,23 +17916,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -18339,7 +18033,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -18411,7 +18105,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -18430,7 +18124,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -18449,7 +18143,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -18756,7 +18450,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -18784,7 +18478,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19003,7 +18697,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19014,7 +18708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19025,7 +18719,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19053,7 +18747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19092,7 +18786,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19137,7 +18831,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19148,7 +18842,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19159,7 +18853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19170,7 +18864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19277,7 +18971,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19311,7 +19005,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19339,7 +19033,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19356,7 +19050,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19373,7 +19067,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19390,7 +19084,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19407,7 +19101,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19424,7 +19118,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19446,7 +19140,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19463,7 +19157,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19480,8 +19174,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -19497,8 +19191,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -19514,41 +19208,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19562,10 +19222,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19579,11 +19239,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -19599,7 +19293,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19613,10 +19307,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19627,7 +19524,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19644,7 +19541,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19655,7 +19552,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19672,7 +19569,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19689,7 +19586,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19706,7 +19603,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19723,7 +19620,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19740,7 +19637,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19751,7 +19648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19762,7 +19659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19779,7 +19676,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19796,7 +19693,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19813,7 +19710,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19830,7 +19727,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19847,7 +19744,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19864,7 +19761,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19881,23 +19778,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -19909,57 +19817,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19973,27 +19831,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20007,10 +19952,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20021,7 +19966,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20035,10 +19980,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20049,7 +19994,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20060,7 +20005,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20074,11 +20019,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20094,24 +20056,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -20125,10 +20070,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20142,10 +20087,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20159,10 +20104,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20173,7 +20118,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20187,26 +20132,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20218,8 +20180,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20235,8 +20197,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20252,8 +20214,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20269,8 +20231,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20286,11 +20248,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20303,8 +20265,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20320,8 +20282,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20337,8 +20299,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20354,8 +20316,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20371,8 +20333,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20388,8 +20350,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20405,11 +20367,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20422,24 +20384,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20453,295 +20398,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20752,7 +20412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20769,7 +20429,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20780,7 +20440,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -20797,7 +20457,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20814,7 +20474,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20825,7 +20485,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20836,7 +20496,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20847,7 +20507,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20858,7 +20518,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20869,7 +20529,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20886,7 +20546,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20903,7 +20563,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20920,7 +20580,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20937,7 +20597,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20948,7 +20608,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20959,7 +20619,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20976,7 +20636,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20987,7 +20647,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20998,7 +20658,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21009,7 +20669,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21020,7 +20680,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21037,7 +20697,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21048,7 +20708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21059,7 +20719,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21076,7 +20736,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21087,7 +20747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21104,7 +20764,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21121,7 +20781,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21138,7 +20798,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21157,7 +20817,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21191,7 +20851,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21225,7 +20885,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21427,12 +21087,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21444,23 +21104,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -21578,7 +21221,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -21650,7 +21293,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -21669,7 +21312,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -21688,7 +21331,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -21995,7 +21638,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22023,7 +21666,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22242,7 +21885,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22253,7 +21896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22264,7 +21907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22292,7 +21935,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22331,7 +21974,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22376,7 +22019,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22387,7 +22030,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22398,7 +22041,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22409,7 +22052,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22516,7 +22159,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22550,7 +22193,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22578,7 +22221,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22595,7 +22238,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22612,7 +22255,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22629,7 +22272,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22646,7 +22289,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22663,7 +22306,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22685,7 +22328,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22702,7 +22345,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22719,8 +22362,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -22736,8 +22379,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -22753,41 +22396,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22801,10 +22410,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22818,11 +22427,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -22838,7 +22481,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22852,10 +22495,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22866,7 +22712,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22883,7 +22729,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22894,7 +22740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22911,7 +22757,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22928,7 +22774,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22945,7 +22791,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22962,7 +22808,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22979,7 +22825,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -22990,7 +22836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23001,7 +22847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23018,7 +22864,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23035,7 +22881,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23052,7 +22898,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23069,7 +22915,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23086,7 +22932,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23103,7 +22949,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23120,23 +22966,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23148,57 +23005,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23212,27 +23019,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23246,10 +23140,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23260,7 +23154,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23274,10 +23168,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23288,7 +23182,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23299,7 +23193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23313,11 +23207,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23333,24 +23244,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -23364,10 +23258,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23381,10 +23275,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23398,10 +23292,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23412,7 +23306,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23426,26 +23320,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23457,8 +23368,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23474,8 +23385,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23491,8 +23402,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23508,8 +23419,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23525,11 +23436,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -23542,8 +23453,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23559,8 +23470,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23576,8 +23487,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23593,8 +23504,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23610,8 +23521,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23627,8 +23538,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23644,11 +23555,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -23661,24 +23572,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23692,295 +23586,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23991,7 +23600,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24008,7 +23617,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24019,7 +23628,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -24036,7 +23645,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24053,7 +23662,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24064,7 +23673,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24075,7 +23684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24086,7 +23695,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24097,7 +23706,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24108,7 +23717,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24125,7 +23734,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24142,7 +23751,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24159,7 +23768,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24176,7 +23785,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24187,7 +23796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24198,7 +23807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24215,7 +23824,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24226,7 +23835,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24237,7 +23846,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24248,7 +23857,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24259,7 +23868,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24276,7 +23885,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24287,7 +23896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24298,7 +23907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24315,7 +23924,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24326,7 +23935,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24343,7 +23952,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24360,7 +23969,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24377,7 +23986,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24396,7 +24005,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24430,7 +24039,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24464,7 +24073,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24666,12 +24275,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -24683,23 +24292,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -24817,7 +24409,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -24889,7 +24481,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -24908,7 +24500,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -24927,7 +24519,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -25234,7 +24826,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25262,7 +24854,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25481,7 +25073,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25492,7 +25084,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25503,7 +25095,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25531,7 +25123,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25570,7 +25162,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25615,7 +25207,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25626,7 +25218,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25637,7 +25229,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25648,7 +25240,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25755,7 +25347,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25789,7 +25381,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25817,7 +25409,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25834,7 +25426,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25851,7 +25443,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25868,7 +25460,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25885,7 +25477,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25902,7 +25494,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25924,7 +25516,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25941,7 +25533,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25958,8 +25550,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -25975,8 +25567,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -25992,41 +25584,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -26040,10 +25598,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -26057,11 +25615,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -26077,7 +25669,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -26091,10 +25683,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26105,7 +25900,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26122,7 +25917,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26133,7 +25928,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26150,7 +25945,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26167,7 +25962,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26184,7 +25979,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26201,7 +25996,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26218,7 +26013,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -26229,7 +26024,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26240,7 +26035,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26257,7 +26052,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26274,7 +26069,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26291,7 +26086,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26308,7 +26103,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26325,7 +26120,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26342,7 +26137,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26359,23 +26154,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26387,57 +26193,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26451,27 +26207,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26485,10 +26328,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26499,7 +26342,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26513,10 +26356,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26527,7 +26370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26538,7 +26381,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26552,11 +26395,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26572,24 +26432,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -26603,10 +26446,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26620,10 +26463,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26637,10 +26480,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26651,7 +26494,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26665,26 +26508,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26696,8 +26556,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26713,8 +26573,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26730,8 +26590,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26747,8 +26607,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26764,11 +26624,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26781,8 +26641,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26798,8 +26658,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26815,8 +26675,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26832,8 +26692,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26849,8 +26709,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26866,8 +26726,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26883,11 +26743,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26900,24 +26760,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26931,295 +26774,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27230,7 +26788,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27247,7 +26805,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27258,7 +26816,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -27275,7 +26833,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27292,7 +26850,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27303,7 +26861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27314,7 +26872,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27325,7 +26883,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27336,7 +26894,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27347,7 +26905,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27364,7 +26922,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27381,7 +26939,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27398,7 +26956,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27415,7 +26973,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27426,7 +26984,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27437,7 +26995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27454,7 +27012,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27465,7 +27023,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27476,7 +27034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27487,7 +27045,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27498,7 +27056,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27515,7 +27073,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27526,7 +27084,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27537,7 +27095,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27554,7 +27112,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27565,7 +27123,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27582,7 +27140,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27599,7 +27157,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27616,7 +27174,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27635,7 +27193,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27669,7 +27227,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27703,7 +27261,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27905,12 +27463,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27922,23 +27480,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -28056,7 +27597,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -28128,7 +27669,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -28147,7 +27688,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -28166,7 +27707,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -28473,7 +28014,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -28501,7 +28042,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -28720,7 +28261,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28731,7 +28272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28742,7 +28283,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28770,7 +28311,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28809,7 +28350,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28854,7 +28395,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28865,7 +28406,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28876,7 +28417,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28887,7 +28428,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28994,7 +28535,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29028,7 +28569,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29056,7 +28597,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29073,7 +28614,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29090,7 +28631,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29107,7 +28648,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29124,7 +28665,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29141,7 +28682,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29163,7 +28704,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29180,7 +28721,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29197,8 +28738,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -29214,8 +28755,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -29231,41 +28772,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29279,10 +28786,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29296,11 +28803,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -29316,7 +28857,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29330,10 +28871,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29344,7 +29088,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29361,7 +29105,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29372,7 +29116,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29389,7 +29133,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29406,7 +29150,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29423,7 +29167,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29440,7 +29184,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29457,7 +29201,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29468,7 +29212,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29479,7 +29223,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29496,7 +29240,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29513,7 +29257,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29530,7 +29274,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29547,7 +29291,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29564,7 +29308,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29581,7 +29325,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29598,23 +29342,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -29626,57 +29381,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29690,27 +29395,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29724,10 +29516,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29738,7 +29530,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29752,10 +29544,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29766,7 +29558,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29777,7 +29569,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29791,11 +29583,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29811,24 +29620,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -29842,10 +29634,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29859,10 +29651,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29876,10 +29668,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29890,7 +29682,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29904,26 +29696,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -29935,8 +29744,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29952,8 +29761,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29969,8 +29778,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29986,8 +29795,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30003,11 +29812,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -30020,8 +29829,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30037,8 +29846,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30054,8 +29863,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30071,8 +29880,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30088,8 +29897,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30105,8 +29914,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30122,11 +29931,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -30139,24 +29948,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30170,295 +29962,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30469,7 +29976,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30486,7 +29993,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30497,7 +30004,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -30514,7 +30021,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30531,7 +30038,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30542,7 +30049,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30553,7 +30060,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30564,7 +30071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30575,7 +30082,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30586,7 +30093,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30603,7 +30110,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30620,7 +30127,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30637,7 +30144,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30654,7 +30161,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30665,7 +30172,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30676,7 +30183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30693,7 +30200,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30704,7 +30211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30715,7 +30222,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30726,7 +30233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30737,7 +30244,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30754,7 +30261,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30765,7 +30272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30776,7 +30283,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30793,7 +30300,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30804,7 +30311,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30821,7 +30328,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30838,7 +30345,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30855,7 +30362,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30874,7 +30381,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30908,7 +30415,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30942,7 +30449,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31144,12 +30651,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31161,23 +30668,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -31295,7 +30785,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -31367,7 +30857,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -31386,7 +30876,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -31405,7 +30895,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -31712,7 +31202,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31740,7 +31230,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31959,7 +31449,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31970,7 +31460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31981,7 +31471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32009,7 +31499,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32048,7 +31538,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32093,7 +31583,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32104,7 +31594,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32115,7 +31605,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32126,7 +31616,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32233,7 +31723,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32267,7 +31757,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32295,7 +31785,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32312,7 +31802,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32329,7 +31819,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32346,7 +31836,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32363,7 +31853,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32380,7 +31870,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32402,7 +31892,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32419,7 +31909,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32436,8 +31926,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -32453,8 +31943,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -32470,41 +31960,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32518,10 +31974,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32535,11 +31991,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -32555,7 +32045,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32569,10 +32059,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32583,7 +32276,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32600,7 +32293,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32611,7 +32304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32628,7 +32321,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32645,7 +32338,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32662,7 +32355,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32679,7 +32372,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32696,7 +32389,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -32707,7 +32400,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32718,7 +32411,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32735,7 +32428,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32752,7 +32445,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32769,7 +32462,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32786,7 +32479,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32803,7 +32496,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32820,7 +32513,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32837,23 +32530,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32865,57 +32569,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32929,27 +32583,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32963,10 +32704,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32977,7 +32718,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32991,10 +32732,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33005,7 +32746,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33016,7 +32757,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33030,11 +32771,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33050,24 +32808,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -33081,10 +32822,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33098,10 +32839,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33115,10 +32856,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33129,7 +32870,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33143,26 +32884,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33174,8 +32932,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33191,8 +32949,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33208,8 +32966,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33225,8 +32983,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33242,11 +33000,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -33259,8 +33017,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33276,8 +33034,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33293,8 +33051,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33310,8 +33068,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33327,8 +33085,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33344,8 +33102,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33361,11 +33119,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -33378,24 +33136,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33409,295 +33150,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33708,7 +33164,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33725,7 +33181,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33736,7 +33192,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -33753,7 +33209,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33770,7 +33226,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33781,7 +33237,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33792,7 +33248,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33803,7 +33259,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33814,7 +33270,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33825,7 +33281,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33842,7 +33298,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33859,7 +33315,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33876,7 +33332,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33893,7 +33349,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33904,7 +33360,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33915,7 +33371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33932,7 +33388,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33943,7 +33399,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33954,7 +33410,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33965,7 +33421,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33976,7 +33432,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33993,7 +33449,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34004,7 +33460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34015,7 +33471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34032,7 +33488,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34043,7 +33499,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34060,7 +33516,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34077,7 +33533,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34094,7 +33550,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34113,7 +33569,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34147,7 +33603,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34181,7 +33637,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34383,12 +33839,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -34400,23 +33856,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -34534,7 +33973,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -34606,7 +34045,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -34625,7 +34064,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -34644,7 +34083,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -34951,7 +34390,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34979,7 +34418,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35198,7 +34637,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35209,7 +34648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35220,7 +34659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35248,7 +34687,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35287,7 +34726,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35332,7 +34771,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35343,7 +34782,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35354,7 +34793,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35365,7 +34804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35472,7 +34911,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35506,7 +34945,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35534,7 +34973,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35551,7 +34990,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35568,7 +35007,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35585,7 +35024,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35602,7 +35041,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35619,7 +35058,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35641,7 +35080,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35658,7 +35097,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35675,8 +35114,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -35692,8 +35131,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -35709,41 +35148,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35757,10 +35162,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35774,11 +35179,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -35794,7 +35233,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35808,10 +35247,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35822,7 +35464,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35839,7 +35481,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35850,7 +35492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35867,7 +35509,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35884,7 +35526,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35901,7 +35543,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35918,7 +35560,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35935,7 +35577,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -35946,7 +35588,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35957,7 +35599,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35974,7 +35616,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35991,7 +35633,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36008,7 +35650,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36025,7 +35667,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36042,7 +35684,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36059,7 +35701,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36076,23 +35718,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36104,57 +35757,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36168,27 +35771,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36202,10 +35892,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36216,7 +35906,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36230,10 +35920,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36244,7 +35934,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36255,7 +35945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36269,11 +35959,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36289,24 +35996,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -36320,10 +36010,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36337,10 +36027,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36354,10 +36044,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36368,7 +36058,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36382,26 +36072,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36413,8 +36120,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36430,8 +36137,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36447,8 +36154,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36464,8 +36171,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36481,11 +36188,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36498,8 +36205,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36515,8 +36222,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36532,8 +36239,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36549,8 +36256,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36566,8 +36273,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36583,8 +36290,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36600,11 +36307,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36617,24 +36324,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36648,295 +36338,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36947,7 +36352,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36964,7 +36369,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36975,7 +36380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -36992,7 +36397,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37009,7 +36414,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37020,7 +36425,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37031,7 +36436,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37042,7 +36447,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37053,7 +36458,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37064,7 +36469,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37081,7 +36486,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37098,7 +36503,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37115,7 +36520,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37132,7 +36537,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37143,7 +36548,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37154,7 +36559,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37171,7 +36576,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37182,7 +36587,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37193,7 +36598,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37204,7 +36609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37215,7 +36620,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37232,7 +36637,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37243,7 +36648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37254,7 +36659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37271,7 +36676,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37282,7 +36687,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37299,7 +36704,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37316,7 +36721,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37333,7 +36738,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37352,7 +36757,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37386,7 +36791,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37420,7 +36825,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37622,12 +37027,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37639,23 +37044,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -37773,7 +37161,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -37845,7 +37233,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -37864,7 +37252,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -37883,7 +37271,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -38190,7 +37578,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -38218,7 +37606,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -38437,7 +37825,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38448,7 +37836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38459,7 +37847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38487,7 +37875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38526,7 +37914,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38571,7 +37959,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38582,7 +37970,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38593,7 +37981,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38604,7 +37992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38711,7 +38099,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38745,7 +38133,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38773,7 +38161,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38790,7 +38178,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38807,7 +38195,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38824,7 +38212,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38841,7 +38229,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38858,7 +38246,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38944,7 +38332,7 @@
               "dest": { "type": "phv", "name": "hasExited_0" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -39501,10 +38889,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B24" },
+              "dest": { "type": "phv", "name": "B23" },
               "src": [
                 { "type": "immediate", "name": "$data0" },
-                { "type": "phv", "name": "B24" }
+                { "type": "phv", "name": "B23" }
               ]
             }
           ]
@@ -39586,7 +38974,7 @@
               "dest": { "type": "phv", "name": "packet_in.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B25" }
+                { "type": "phv", "name": "B24" }
               ]
             },
             {
@@ -39681,8 +39069,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H2" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H1" },
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -39690,7 +39078,7 @@
               "dest": { "type": "phv", "name": "hasExited_0" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -40244,10 +39632,10 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B24" },
+              "dest": { "type": "phv", "name": "B23" },
               "src": [
                 { "type": "action_param", "name": "$data1" },
-                { "type": "phv", "name": "B24" }
+                { "type": "phv", "name": "B23" }
               ]
             },
             {
@@ -40630,10 +40018,10 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B24" },
+              "dest": { "type": "phv", "name": "B23" },
               "src": [
                 { "type": "action_param", "name": "$data1" },
-                { "type": "phv", "name": "B24" }
+                { "type": "phv", "name": "B23" }
               ]
             },
             {
@@ -40671,14 +40059,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 2 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
-                "action_name": "act_4",
+                "action_name": "act_5",
                 "action_handle": 536870919,
                 "table_name": "filtering_ingress_port_vlan",
                 "next_table": 0,
-                "next_table_full": 98,
+                "next_table_full": 97,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -40692,7 +40080,7 @@
       },
       "actions": [
         {
-          "name": "act_4",
+          "name": "act_5",
           "handle": 536870919,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -40714,12 +40102,12 @@
               "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.do_spgw" },
+              "dest": { "type": "phv", "name": "spgw.direction" },
               "src": [
                 { "type": "immmediate", "name": "0" },
                 { "type": "phv", "name": "B13" }
@@ -40745,54 +40133,945 @@
     {
       "direction": "ingress",
       "handle": 16777223,
-      "name": "tbl_act_2",
+      "name": "spgw_ingress.s1u_filter_table",
       "table_type": "match",
-      "size": 1,
-      "preferred_match_type": "exact",
+      "size": 3072,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870920,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4.dst_addr",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false,
+          "instance_name": "ipv4",
+          "field_name": "dst_addr"
+        }
+      ],
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 2,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
+            "size": 3072,
+            "stage_table_type": "hash_match",
             "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
-            "pack_format": [
+            "has_attached_gateway": false,
+            "hash_functions": [
               {
-                "table_word_width": 0,
-                "memory_word_width": 0,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0
+                "hash_bits": [
+                  {
+                    "hash_bit": 0,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 1,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 2,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 3,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 4,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 5,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 6,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 7,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 8,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 9,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 10,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 11,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 12,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 13,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 14,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 15,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 16,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 17,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 18,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 19,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 20,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 21,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 22,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 23,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 24,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 26,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 27,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 28,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 29,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                    ]
+                  }
+                ]
               }
             ],
-            "result_physical_buses": [ 1 ],
             "action_format": [
               {
-                "action_name": "act_2",
+                "action_name": "NoAction",
                 "action_handle": 536870920,
                 "table_name": "spgw_ingress_ue_filter_table",
                 "next_table": 0,
                 "next_table_full": 34,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
                 "immediate_fields": []
               }
             ],
-            "hash_functions": []
+            "result_physical_buses": [ 14 ],
+            "pack_format": [
+              {
+                "memory_word_width": 128,
+                "table_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1
+              }
+            ],
+            "memory_resource_allocation": null,
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 18,
+                            "start_bit": 10,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 0,
+                            "start_bit": 16,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 8,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 16,
+                            "field_name": "--padding_16_17--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 88,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 24,
+                            "field_name": "--padding_24_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 18,
+                            "start_bit": 10,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 0,
+                            "start_bit": 16,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 8,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 16,
+                            "field_name": "--padding_16_17--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 88,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 24,
+                            "field_name": "--padding_24_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 18,
+                            "start_bit": 10,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 0,
+                            "start_bit": 16,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 8,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 16,
+                            "field_name": "--padding_16_17--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 88,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 24,
+                            "field_name": "--padding_24_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 20,
+                  "hash_entry_bit_hi": 29,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                }
+              }
+            ]
           }
         ],
-        "match_type": "match_with_no_key",
+        "match_type": "exact",
         "uses_dynamic_key_masks": false
       },
       "actions": [
         {
-          "name": "act_2",
+          "name": "NoAction",
           "handle": 536870920,
           "indirect_resources": [],
           "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -40804,106 +41083,9 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.s1u_enb_addr" },
-              "src": [ { "type": "phv", "name": "W1" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.s1u_sgw_addr" },
-              "src": [ { "type": "phv", "name": "W4" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.diffserv" },
-              "src": [ { "type": "phv", "name": "B3" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.total_len" },
-              "src": [ { "type": "phv", "name": "H13" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.identification" },
-              "src": [ { "type": "phv", "name": "H32" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.ttl" },
-              "src": [ { "type": "phv", "name": "B7" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.protocol" },
-              "src": [ { "type": "phv", "name": "B10" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.src_addr" },
-              "src": [ { "type": "phv", "name": "W0" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.dst_addr" },
-              "src": [ { "type": "phv", "name": "W3" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.src_port" },
-              "src": [ { "type": "phv", "name": "H4" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.dst_port" },
-              "src": [ { "type": "phv", "name": "H34" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.len" },
-              "src": [ { "type": "phv", "name": "H36" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.checksum" },
-              "src": [ { "type": "phv", "name": "H38" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B1" },
-              "src": [ { "type": "phv", "name": "B0" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H10" },
-              "src": [ { "type": "phv", "name": "H9" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H43" },
-              "src": [
-                { "type": "phv", "name": "H43" },
-                { "type": "phv", "name": "H43" }
-              ]
-            }
-          ]
+          "primitives": []
         }
-      ],
-      "default_action_handle": 536870920,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "performs_hash_action": false,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": []
+      ]
     },
     {
       "direction": "ingress",
@@ -40975,7 +41157,7 @@
               "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
               "spare_bank_memory_unit": 0
             },
-            "default_next_table": 0,
+            "default_next_table": 2,
             "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
               "stage_number": 2,
@@ -41802,7 +41984,7 @@
                   "action_handle": 536870921,
                   "table_name": "tbl_act_19",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 49,
                   "vliw_instruction": 0,
                   "vliw_instruction_full": 64,
                   "immediate_fields": []
@@ -41862,945 +42044,54 @@
     {
       "direction": "ingress",
       "handle": 16777225,
-      "name": "spgw_ingress.s1u_filter_table",
+      "name": "tbl_act_2",
       "table_type": "match",
-      "size": 3072,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870922,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "spgw.s1u_sgw_addr",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "spgw",
-          "field_name": "s1u_sgw_addr"
-        }
-      ],
+      "size": 1,
+      "preferred_match_type": "exact",
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 3,
-            "size": 3072,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": false,
-            "hash_functions": [
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
+            "memory_resource_allocation": null,
+            "default_next_table": 255,
+            "pack_format": [
               {
-                "hash_bits": [
-                  {
-                    "hash_bit": 0,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 0, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 1,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 1, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 2,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 2, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 3,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 3, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 4,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 4, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 5,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 5, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 6,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 6, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 7,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 7, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 8,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 9,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 10,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 0, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 11,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 1, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 12,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 2, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 13,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 3, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 14,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 4, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 15,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 5, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 16,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 6, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 17,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 7, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 18,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 19,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 20,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 0, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 21,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 1, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 22,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 2, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 23,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 3, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 24,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 4, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 5, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 26,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 6, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 27,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 7, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 28,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 29,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  }
-                ]
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0
               }
             ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
-                "action_name": "NoAction",
+                "action_name": "act_1",
                 "action_handle": 536870922,
-                "table_name": "tbl_act_19",
+                "table_name": "tbl_act_17",
                 "next_table": 0,
                 "next_table_full": 64,
-                "vliw_instruction": 0,
+                "vliw_instruction": 1,
                 "vliw_instruction_full": 64,
                 "immediate_fields": []
               }
             ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "ways": [
-              {
-                "stage_number": 3,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 18,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 0,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 8,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 16,
-                            "field_name": "--padding_16_17--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 88,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 24,
-                            "field_name": "--padding_24_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 18,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 0,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 8,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 16,
-                            "field_name": "--padding_16_17--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 88,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 24,
-                            "field_name": "--padding_24_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 18,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 0,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 8,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 16,
-                            "field_name": "--padding_16_17--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 88,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 24,
-                            "field_name": "--padding_24_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 20,
-                  "hash_entry_bit_hi": 29,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
-                }
-              }
-            ]
+            "hash_functions": []
           }
         ],
-        "match_type": "exact",
+        "match_type": "match_with_no_key",
         "uses_dynamic_key_masks": false
       },
       "actions": [
         {
-          "name": "NoAction",
+          "name": "act_1",
           "handle": 536870922,
           "indirect_resources": [],
           "allowed_as_default_action": true,
+          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -42812,14 +42103,36 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false,
-          "primitives": []
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
+              "src": [
+                { "type": "immmediate", "name": "1" },
+                { "type": "phv", "name": "B15" }
+              ]
+            }
+          ]
         }
-      ]
+      ],
+      "default_action_handle": 536870922,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": []
     },
     {
       "direction": "ingress",
       "handle": 16777226,
-      "name": "tbl_act_3",
+      "name": "tbl_act_4",
       "table_type": "match",
       "size": 1,
       "preferred_match_type": "exact",
@@ -42841,14 +42154,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 2 ],
             "action_format": [
               {
-                "action_name": "act_1",
+                "action_name": "act_3",
                 "action_handle": 536870923,
-                "table_name": "tbl_act_19",
+                "table_name": "cond-5",
                 "next_table": 0,
-                "next_table_full": 64,
+                "next_table_full": 65,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -42862,7 +42175,7 @@
       },
       "actions": [
         {
-          "name": "act_1",
+          "name": "act_3",
           "handle": 536870923,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -42881,18 +42194,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.do_spgw" },
-              "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B13" }
-              ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.direction" },
               "src": [
-                { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "immmediate", "name": "2" },
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -42915,7 +42220,7 @@
     {
       "direction": "ingress",
       "handle": 16777227,
-      "name": "tbl_act_4",
+      "name": "tbl_act_5",
       "table_type": "match",
       "size": 1,
       "preferred_match_type": "exact",
@@ -42925,7 +42230,7 @@
             "stage_number": 3,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 0,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -42937,16 +42242,16 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
-                "action_name": "act_3",
+                "action_name": "act_4",
                 "action_handle": 536870924,
-                "table_name": "tbl_act_19",
+                "table_name": "cond-5",
                 "next_table": 0,
-                "next_table_full": 64,
+                "next_table_full": 65,
                 "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
+                "vliw_instruction_full": 64,
                 "immediate_fields": []
               }
             ],
@@ -42958,7 +42263,7 @@
       },
       "actions": [
         {
-          "name": "act_3",
+          "name": "act_4",
           "handle": 536870924,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -42977,18 +42282,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.do_spgw" },
+              "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B13" }
-              ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.direction" },
-              "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             }
           ]
@@ -43011,50 +42308,682 @@
     {
       "direction": "ingress",
       "handle": 16777228,
-      "name": "tbl_act_5",
+      "name": "tbl_act_3",
       "table_type": "match",
-      "size": 1,
-      "preferred_match_type": "exact",
+      "size": 512,
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 4,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
+            "size": 512,
+            "stage_table_type": "ternary_match",
             "logical_table_id": 0,
             "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
             "pack_format": [
               {
                 "table_word_width": 0,
-                "memory_word_width": 0,
+                "memory_word_width": 47,
                 "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
               }
             ],
-            "result_physical_buses": [ 0 ],
-            "action_format": [
-              {
-                "action_name": "act_5",
-                "action_handle": 536870925,
-                "table_name": "cond-5",
-                "next_table": 0,
-                "next_table_full": 80,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 64,
-                "immediate_fields": []
-              }
-            ],
-            "hash_functions": []
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [], "vpns": [] } ],
+              "spare_bank_memory_unit": 0
+            },
+            "default_next_table": 1,
+            "result_physical_buses": [],
+            "ternary_indirection_stage_table": {
+              "stage_number": 4,
+              "stage_table_type": "ternary_indirection",
+              "size": 512,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 16,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 127,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 119,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 111,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 103,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 95,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 87,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 79,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 71,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 63,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 55,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 47,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 39,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 31,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 23,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 15,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 7,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": { "memory_type": "sram", "memory_units_and_vpns": [] },
+              "action_format": [
+                {
+                  "action_name": "act_2",
+                  "action_handle": 536870925,
+                  "table_name": "cond-5",
+                  "next_table": 0,
+                  "next_table_full": 65,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "constant_0",
+                      "param_type": "constant",
+                      "const_value": 0,
+                      "param_shift": 0,
+                      "dest_start": 4,
+                      "dest_width": 1
+                    },
+                    {
+                      "param_name": "constant_0",
+                      "param_type": "constant",
+                      "const_value": 0,
+                      "param_shift": 0,
+                      "dest_start": 5,
+                      "dest_width": 1
+                    },
+                    {
+                      "param_name": "constant_0",
+                      "param_type": "constant",
+                      "const_value": 0,
+                      "param_shift": 0,
+                      "dest_start": 3,
+                      "dest_width": 1
+                    }
+                  ]
+                }
+              ]
+            }
           }
         ],
-        "match_type": "match_with_no_key",
-        "uses_dynamic_key_masks": false
+        "match_type": "ternary"
       },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_5",
+          "name": "act_2",
           "handle": 536870925,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -43073,10 +43002,99 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
+              "dest": { "type": "phv", "name": "spgw.direction" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
+              ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.diffserv" },
+              "src": [ { "type": "phv", "name": "B3" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.total_len" },
+              "src": [ { "type": "phv", "name": "H12" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.identification" },
+              "src": [ { "type": "phv", "name": "H14" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.ttl" },
+              "src": [ { "type": "phv", "name": "B7" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.protocol" },
+              "src": [ { "type": "phv", "name": "B10" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.src_addr" },
+              "src": [ { "type": "phv", "name": "W0" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.dst_addr" },
+              "src": [ { "type": "phv", "name": "W2" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.$valid" },
+              "src": [
+                { "type": "phv", "name": "W12" },
+                { "type": "phv", "name": "W10" }
+              ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.src_port" },
+              "src": [ { "type": "phv", "name": "H3" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.dst_port" },
+              "src": [ { "type": "phv", "name": "H32" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.len" },
+              "src": [ { "type": "phv", "name": "H34" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.checksum" },
+              "src": [ { "type": "phv", "name": "H36" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.$valid" },
+              "src": [
+                { "type": "phv", "name": "W12" },
+                { "type": "phv", "name": "W11" }
+              ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "B1" },
+              "src": [ { "type": "phv", "name": "B0" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "H9" },
+              "src": [ { "type": "phv", "name": "H8" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "W12" },
+              "src": [
+                { "type": "immediate", "name": "$data0" },
+                { "type": "phv", "name": "W12" }
               ]
             }
           ]
@@ -43088,13 +43106,7 @@
       "ap_bind_indirect_res_to_match": [],
       "is_resource_controllable": true,
       "uses_range": false,
-      "match_key_fields": [],
-      "performs_hash_action": false,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": []
+      "match_key_fields": []
     },
     {
       "direction": "ingress",
@@ -43138,7 +43150,7 @@
             "stage_number": 5,
             "size": 3072,
             "stage_table_type": "hash_match",
-            "logical_table_id": 1,
+            "logical_table_id": 0,
             "has_attached_gateway": true,
             "hash_functions": [
               {
@@ -43147,7 +43159,7 @@
                     "hash_bit": 0,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43166,7 +43178,7 @@
                     "hash_bit": 1,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 17, "field_name": "ipv4.dst_addr" },
@@ -43183,6 +43195,7 @@
                     "hash_bit": 2,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43194,14 +43207,14 @@
                       { "field_bit": 21, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 3,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
@@ -43217,14 +43230,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 4,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43232,28 +43245,28 @@
                       { "field_bit": 22, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 23, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 5,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 18, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 20, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 23, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 6,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43266,14 +43279,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 7,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
@@ -43283,14 +43296,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 8,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43303,14 +43316,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 9,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43322,15 +43335,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 10,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43349,7 +43361,7 @@
                     "hash_bit": 11,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43365,6 +43377,7 @@
                     "hash_bit": 12,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 17, "field_name": "ipv4.dst_addr" },
@@ -43375,14 +43388,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 13,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43395,14 +43408,14 @@
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 14,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43411,14 +43424,14 @@
                       { "field_bit": 21, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 15,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43431,14 +43444,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 16,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 17, "field_name": "ipv4.dst_addr" },
@@ -43449,14 +43462,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 17,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43468,14 +43481,14 @@
                       { "field_bit": 23, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 18,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43483,14 +43496,14 @@
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 19,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43507,15 +43520,14 @@
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 20,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43531,7 +43543,7 @@
                     "hash_bit": 21,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
@@ -43552,6 +43564,7 @@
                     "hash_bit": 22,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 18, "field_name": "ipv4.dst_addr" },
@@ -43563,14 +43576,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 23,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43578,14 +43591,14 @@
                       { "field_bit": 19, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 24,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43598,14 +43611,14 @@
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 25,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43618,14 +43631,14 @@
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 26,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43637,14 +43650,14 @@
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 27,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43659,14 +43672,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 28,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43679,14 +43692,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 29,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43694,8 +43707,7 @@
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 22, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" }
                     ]
                   }
                 ]
@@ -43707,7 +43719,7 @@
                 "action_handle": 536870927,
                 "table_name": "tbl_spgw_ingress_drop_now_0",
                 "next_table": 0,
-                "next_table_full": 82,
+                "next_table_full": 81,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -43717,12 +43729,12 @@
                 "action_handle": 536870926,
                 "table_name": "tbl_spgw_ingress_drop_now_0",
                 "next_table": 1,
-                "next_table_full": 82,
+                "next_table_full": 81,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 64,
                 "immediate_fields": [
                   {
-                    "param_name": "s1u_enb_addr",
+                    "param_name": "teid",
                     "param_type": "parameter",
                     "param_shift": 0,
                     "dest_start": 0,
@@ -44167,12 +44179,12 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.teid" },
-              "src": [ { "type": "action_param", "name": "teid" } ]
+              "src": [ { "type": "immediate", "name": "teid" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.s1u_enb_addr" },
-              "src": [ { "type": "immediate", "name": "s1u_enb_addr" } ]
+              "src": [ { "type": "action_param", "name": "s1u_enb_addr" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -44194,7 +44206,7 @@
           "stage_number": 5,
           "size": 4096,
           "stage_table_type": "action_data",
-          "logical_table_id": 1,
+          "logical_table_id": 0,
           "pack_format": [
             {
               "memory_word_width": 128,
@@ -44249,7 +44261,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 64,
-                      "field_name": "s1u_sgw_addr"
+                      "field_name": "s1u_enb_addr"
                     },
                     {
                       "start_bit": 0,
@@ -44258,7 +44270,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 96,
-                      "field_name": "teid"
+                      "field_name": "s1u_sgw_addr"
                     }
                   ]
                 },
@@ -44272,7 +44284,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 0,
-                      "field_name": "s1u_sgw_addr"
+                      "field_name": "s1u_enb_addr"
                     },
                     {
                       "start_bit": 0,
@@ -44281,7 +44293,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 32,
-                      "field_name": "teid"
+                      "field_name": "s1u_sgw_addr"
                     }
                   ]
                 }
@@ -44352,12 +44364,12 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.teid" },
-              "src": [ { "type": "action_param", "name": "teid" } ]
+              "src": [ { "type": "immediate", "name": "teid" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.s1u_enb_addr" },
-              "src": [ { "type": "immediate", "name": "s1u_enb_addr" } ]
+              "src": [ { "type": "action_param", "name": "s1u_enb_addr" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -44382,7 +44394,7 @@
             "stage_number": 5,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 2,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -44394,7 +44406,7 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "spgw_ingress.drop_now",
@@ -44437,7 +44449,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -44445,7 +44457,7 @@
               "dest": { "type": "phv", "name": "hasExited_0" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -45050,7 +45062,7 @@
               {
                 "action_name": "spgw_ingress.update_ue_cdr",
                 "action_handle": 536870929,
-                "table_name": "tbl_spgw_ingress_gtpu_decap_0",
+                "table_name": "filtering_ingress_port_vlan",
                 "next_table": 0,
                 "next_table_full": 97,
                 "vliw_instruction": 0,
@@ -45060,7 +45072,7 @@
               {
                 "action_name": "NoAction",
                 "action_handle": 536870930,
-                "table_name": "tbl_spgw_ingress_gtpu_decap_0",
+                "table_name": "filtering_ingress_port_vlan",
                 "next_table": 0,
                 "next_table_full": 97,
                 "vliw_instruction": 0,
@@ -45499,720 +45511,6 @@
     {
       "direction": "ingress",
       "handle": 16777232,
-      "name": "tbl_spgw_ingress_gtpu_decap",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 6,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [], "vpns": [] } ],
-              "spare_bank_memory_unit": 0
-            },
-            "default_next_table": 2,
-            "result_physical_buses": [],
-            "ternary_indirection_stage_table": {
-              "stage_number": 6,
-              "stage_table_type": "ternary_indirection",
-              "size": 512,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 16,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 127,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 119,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 111,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 103,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 95,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 87,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 79,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 71,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 63,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 55,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 47,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 39,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 31,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 23,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 15,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 7,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": { "memory_type": "sram", "memory_units_and_vpns": [] },
-              "action_format": [
-                {
-                  "action_name": "spgw_ingress.gtpu_decap",
-                  "action_handle": 536870931,
-                  "table_name": "filtering_ingress_port_vlan",
-                  "next_table": 0,
-                  "next_table_full": 98,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "immediate_fields": [
-                    {
-                      "param_name": "constant_0",
-                      "param_type": "constant",
-                      "const_value": 0,
-                      "param_shift": 0,
-                      "dest_start": 4,
-                      "dest_width": 1
-                    },
-                    {
-                      "param_name": "constant_0",
-                      "param_type": "constant",
-                      "const_value": 0,
-                      "param_shift": 0,
-                      "dest_start": 5,
-                      "dest_width": 1
-                    },
-                    {
-                      "param_name": "constant_0",
-                      "param_type": "constant",
-                      "const_value": 0,
-                      "param_shift": 0,
-                      "dest_start": 3,
-                      "dest_width": 1
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "spgw_ingress.gtpu_decap",
-          "handle": 536870931,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H43" },
-              "src": [
-                { "type": "immediate", "name": "$data0" },
-                { "type": "phv", "name": "H43" }
-              ]
-            }
-          ]
-        }
-      ],
-      "default_action_handle": 536870931,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777233,
       "name": "filtering.ingress_port_vlan",
       "table_type": "match",
       "size": 512,
@@ -46222,7 +45520,7 @@
             "stage_number": 6,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -46271,31 +45569,22 @@
                         "field_width": 9
                       },
                       {
+                        "field_name": "vlan_tag.vlan_id",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 12
+                      },
+                      {
                         "field_name": "vlan_tag",
-                        "lsb_mem_word_offset": 20,
+                        "lsb_mem_word_offset": 36,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "spec",
                         "start_bit": 0,
                         "field_width": 1
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
                       }
                     ]
                   }
@@ -46307,7 +45596,7 @@
               "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
               "spare_bank_memory_unit": 0
             },
-            "default_next_table": 3,
+            "default_next_table": 2,
             "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
               "stage_number": 6,
@@ -46336,7 +45625,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46346,12 +45635,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 115,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     },
@@ -46371,7 +45660,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46381,12 +45670,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 83,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     },
@@ -46406,7 +45695,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46416,12 +45705,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 51,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     },
@@ -46441,7 +45730,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46451,12 +45740,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 19,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     }
@@ -46471,24 +45760,40 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870934,
+                  "action_handle": 536870933,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 0,
                   "vliw_instruction_full": 64,
                   "immediate_fields": []
                 },
                 {
                   "action_name": "filtering.push_internal_vlan",
-                  "action_handle": 536870932,
+                  "action_handle": 536870931,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
+                  "vliw_instruction_full": 65,
                   "immediate_fields": [
                     {
+                      "param_name": "constant_1",
+                      "param_type": "constant",
+                      "const_value": 1,
+                      "param_shift": 0,
+                      "dest_start": 19,
+                      "dest_width": 1
+                    },
+                    {
+                      "param_name": "constant_1",
+                      "param_type": "constant",
+                      "const_value": 1,
+                      "param_shift": 0,
+                      "dest_start": 20,
+                      "dest_width": 1
+                    },
+                    {
                       "param_name": "constant_0",
                       "param_type": "constant",
                       "const_value": 0,
@@ -46515,12 +45820,12 @@
                 },
                 {
                   "action_name": "filtering.set_vlan",
-                  "action_handle": 536870933,
+                  "action_handle": 536870932,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 2,
-                  "vliw_instruction_full": 68,
+                  "vliw_instruction_full": 66,
                   "immediate_fields": [
                     {
                       "param_name": "new_vlan_id",
@@ -46533,10 +45838,10 @@
                 },
                 {
                   "action_name": "filtering.drop",
-                  "action_handle": 536870935,
+                  "action_handle": 536870934,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 3,
                   "vliw_instruction_full": 67,
                   "immediate_fields": []
@@ -46561,7 +45866,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870934,
+          "handle": 536870933,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46580,7 +45885,7 @@
         },
         {
           "name": "filtering.push_internal_vlan",
-          "handle": 536870932,
+          "handle": 536870931,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46605,16 +45910,8 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "vlan_tag.$valid" },
-              "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
-              ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H11" } ]
+              "src": [ { "type": "phv", "name": "H10" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -46623,22 +45920,22 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
+              "dest": { "type": "phv", "name": "B15" },
               "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "immediate", "name": "$data1" },
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H3" },
+              "dest": { "type": "phv", "name": "H2" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
         },
         {
           "name": "filtering.set_vlan",
-          "handle": 536870933,
+          "handle": 536870932,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46666,14 +45963,14 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
         },
         {
           "name": "filtering.drop",
-          "handle": 536870935,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46694,13 +45991,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870934,
+      "default_action_handle": 536870933,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -46753,7 +46050,7 @@
           "stage_number": 6,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 2,
+          "logical_table_id": 1,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -46782,7 +46079,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777234,
+      "handle": 16777233,
       "name": "filtering.fwd_classifier",
       "table_type": "match",
       "size": 3072,
@@ -46797,7 +46094,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870936,
+      "default_action_handle": 536870935,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -46844,7 +46141,7 @@
             "stage_number": 6,
             "size": 3072,
             "stage_table_type": "hash_match",
-            "logical_table_id": 3,
+            "logical_table_id": 2,
             "has_attached_gateway": false,
             "hash_functions": [
               {
@@ -46870,13 +46167,8 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46884,11 +46176,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46896,10 +46192,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -46945,12 +46248,10 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -46960,15 +46261,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46980,10 +46281,18 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
                       }
@@ -47006,20 +46315,8 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47027,18 +46324,33 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47079,18 +46391,24 @@
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47098,17 +46416,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47154,20 +46472,8 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 2,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47179,6 +46485,10 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47187,17 +46497,22 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47229,21 +46544,24 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47251,9 +46569,12 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47286,16 +46607,12 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47303,7 +46620,7 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47314,14 +46631,12 @@
                         "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47351,21 +46666,20 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 4,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47373,6 +46687,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47414,18 +46735,24 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47437,21 +46764,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47493,27 +46814,36 @@
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47548,41 +46878,15 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47599,6 +46903,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47638,17 +46953,20 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47656,18 +46974,6 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47675,6 +46981,12 @@
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47712,26 +47024,26 @@
                       { "field_bit": 39, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47760,18 +47072,23 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47784,11 +47101,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47796,6 +47113,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47836,19 +47160,12 @@
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47856,21 +47173,22 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 13,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
                         "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47902,13 +47220,6 @@
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -47918,10 +47229,20 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 9,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47965,28 +47286,20 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 12,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47994,6 +47307,14 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -48041,34 +47362,32 @@
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48079,6 +47398,11 @@
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48125,21 +47449,8 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48147,9 +47458,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48196,19 +47517,16 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 6,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48216,13 +47534,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48260,22 +47578,24 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 4,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48283,13 +47603,14 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48334,12 +47655,8 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 4,
+                        "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48351,10 +47668,6 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -48363,13 +47676,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 3,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48412,19 +47727,16 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48432,11 +47744,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48444,17 +47764,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48492,15 +47810,6 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -48510,7 +47819,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48518,21 +47839,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48588,18 +47903,6 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -48613,7 +47916,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48621,13 +47932,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48661,26 +47976,12 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 9,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48688,17 +47989,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48732,13 +48035,16 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 0,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48746,18 +48052,24 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -48796,12 +48108,6 @@
                       { "field_bit": 37, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -48815,11 +48121,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48831,14 +48137,29 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 9,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -48878,19 +48199,12 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48898,17 +48212,21 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48932,35 +48250,32 @@
                       { "field_bit": 39, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48985,18 +48300,18 @@
             "action_format": [
               {
                 "action_name": "filtering.set_forwarding_type",
-                "action_handle": 536870936,
+                "action_handle": 536870935,
                 "table_name": "tbl_act_23",
                 "next_table": 0,
-                "next_table_full": 100,
+                "next_table_full": 99,
                 "vliw_instruction": 0,
-                "vliw_instruction_full": 69,
+                "vliw_instruction_full": 68,
                 "immediate_fields": [
                   {
                     "param_name": "fwd_type",
                     "param_type": "parameter",
                     "param_shift": 0,
-                    "dest_start": 1,
+                    "dest_start": 2,
                     "dest_width": 3
                   }
                 ]
@@ -49031,7 +48346,7 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 4,
+                            "field_width": 5,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "immediate",
@@ -49046,7 +48361,7 @@
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "version",
-                            "lsb_mem_word_offset": 4,
+                            "lsb_mem_word_offset": 112,
                             "field_name": "version",
                             "match_mode": "s1q0"
                           },
@@ -49149,6 +48464,17 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 5,
+                            "field_name": "--padding_5_7--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
                             "field_width": 1,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -49160,12 +48486,23 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 56,
+                            "field_width": 40,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "lsb_mem_word_offset": 72,
-                            "field_name": "--padding_72_127--",
+                            "field_name": "--padding_72_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
                             "match_mode": "unused"
                           }
                         ]
@@ -49202,7 +48539,7 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 4,
+                            "field_width": 5,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "immediate",
@@ -49217,7 +48554,7 @@
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "version",
-                            "lsb_mem_word_offset": 4,
+                            "lsb_mem_word_offset": 112,
                             "field_name": "version",
                             "match_mode": "s1q0"
                           },
@@ -49320,6 +48657,17 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 5,
+                            "field_name": "--padding_5_7--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
                             "field_width": 1,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -49331,12 +48679,23 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 56,
+                            "field_width": 40,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "lsb_mem_word_offset": 72,
-                            "field_name": "--padding_72_127--",
+                            "field_name": "--padding_72_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
                             "match_mode": "unused"
                           }
                         ]
@@ -49373,7 +48732,7 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 4,
+                            "field_width": 5,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "immediate",
@@ -49388,7 +48747,7 @@
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "version",
-                            "lsb_mem_word_offset": 4,
+                            "lsb_mem_word_offset": 112,
                             "field_name": "version",
                             "match_mode": "s1q0"
                           },
@@ -49491,6 +48850,17 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 5,
+                            "field_name": "--padding_5_7--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
                             "field_width": 1,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -49502,12 +48872,23 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 56,
+                            "field_width": 40,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "lsb_mem_word_offset": 72,
-                            "field_name": "--padding_72_127--",
+                            "field_name": "--padding_72_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
                             "match_mode": "unused"
                           }
                         ]
@@ -49535,7 +48916,7 @@
       "actions": [
         {
           "name": "filtering.set_forwarding_type",
-          "handle": 536870936,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "p4_parameters": [
@@ -49581,7 +48962,7 @@
           "stage_number": 6,
           "size": 4096,
           "stage_table_type": "statistics",
-          "logical_table_id": 3,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -49611,7 +48992,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777235,
+      "handle": 16777234,
       "name": "tbl_act_9",
       "table_type": "match",
       "size": 512,
@@ -49622,7 +49003,7 @@
             "stage_number": 6,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 4,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -49638,7 +49019,7 @@
             "action_format": [
               {
                 "action_name": "act_9",
-                "action_handle": 536870937,
+                "action_handle": 536870936,
                 "table_name": "forwarding_bridging",
                 "next_table": 0,
                 "next_table_full": 112,
@@ -49656,7 +49037,7 @@
       "actions": [
         {
           "name": "act_9",
-          "handle": 536870937,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -49674,7 +49055,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870937,
+      "default_action_handle": 536870936,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -49705,7 +49086,7 @@
           "stage_number": 6,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 4,
+          "logical_table_id": 3,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -49734,7 +49115,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777236,
+      "handle": 16777235,
       "name": "forwarding.bridging",
       "table_type": "match",
       "size": 512,
@@ -49944,13 +49325,13 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 2
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14
               },
               "action_format": [
                 {
                   "action_name": "NoAction",
-                  "action_handle": 536870939,
+                  "action_handle": 536870938,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -49960,7 +49341,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870938,
+                  "action_handle": 536870937,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -49996,7 +49377,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870939,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -50015,7 +49396,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870938,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -50046,7 +49427,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870939,
+      "default_action_handle": 536870938,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -50100,12 +49481,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 6 ], "vpns": [ 0 ] },
-              { "memory_units": [ 7 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 7
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 0
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "direct",
@@ -50117,7 +49498,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777237,
+      "handle": 16777236,
       "name": "forwarding.mpls",
       "table_type": "match",
       "size": 3072,
@@ -50132,7 +49513,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870941,
+      "default_action_handle": 536870940,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -50545,20 +49926,20 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870941,
+                "action_handle": 536870940,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 116,
+                "next_table_full": 114,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
               },
               {
                 "action_name": "forwarding.pop_mpls_and_next",
-                "action_handle": 536870940,
+                "action_handle": 536870939,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 116,
+                "next_table_full": 114,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -50572,7 +49953,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 14 ],
+            "result_physical_buses": [ 12, 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -50943,7 +50324,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -50955,7 +50336,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870941,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "p4_parameters": [],
@@ -50973,7 +50354,7 @@
         },
         {
           "name": "forwarding.pop_mpls_and_next",
-          "handle": 536870940,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "p4_parameters": [
@@ -51000,7 +50381,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -51053,52 +50434,228 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777238,
+      "handle": 16777237,
       "name": "tbl_act_6",
       "table_type": "match",
-      "size": 1,
-      "preferred_match_type": "exact",
+      "size": 512,
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 7,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
-            "logical_table_id": 4,
-            "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 2,
+            "has_attached_gateway": false,
             "pack_format": [
               {
                 "table_word_width": 0,
-                "memory_word_width": 0,
+                "memory_word_width": 47,
                 "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
               }
             ],
-            "result_physical_buses": [ 0 ],
-            "action_format": [
-              {
-                "action_name": "act_6",
-                "action_handle": 536870942,
-                "table_name": "forwarding_acl",
-                "next_table": 0,
-                "next_table_full": 128,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 67,
-                "immediate_fields": []
-              }
-            ],
-            "hash_functions": []
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [], "vpns": [] } ],
+              "spare_bank_memory_unit": 0
+            },
+            "default_next_table": 0,
+            "result_physical_buses": [],
+            "ternary_indirection_stage_table": {
+              "stage_number": 7,
+              "stage_table_type": "ternary_indirection",
+              "size": 512,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 8,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": { "memory_type": "sram", "memory_units_and_vpns": [] },
+              "action_format": [
+                {
+                  "action_name": "act_6",
+                  "action_handle": 536870941,
+                  "table_name": "forwarding_acl",
+                  "next_table": 0,
+                  "next_table_full": 128,
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 67,
+                  "immediate_fields": [
+                    {
+                      "param_name": "constant_2048",
+                      "param_type": "constant",
+                      "const_value": 2048,
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16
+                    }
+                  ]
+                }
+              ]
+            }
           }
         ],
-        "match_type": "match_with_no_key",
-        "uses_dynamic_key_masks": false
+        "match_type": "ternary"
       },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
       "actions": [
         {
           "name": "act_6",
-          "handle": 536870942,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -51122,28 +50679,25 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "fabric_metadata.original_ether_type" },
-              "src": [ { "immediate": "2048" } ]
+              "src": [
+                { "type": "immediate", "name": "$constant0" },
+                { "type": "phv", "name": "W11" }
+              ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870942,
+      "default_action_handle": 536870941,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
       "is_resource_controllable": true,
       "uses_range": false,
-      "match_key_fields": [],
-      "performs_hash_action": false,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": []
+      "match_key_fields": []
     },
     {
       "direction": "ingress",
-      "handle": 16777239,
+      "handle": 16777238,
       "name": "forwarding.unicast_v4",
       "table_type": "match",
       "size": 512,
@@ -51153,7 +50707,7 @@
             "stage_number": 7,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -51217,11 +50771,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 5
+              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 2
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 10 ],
+            "result_physical_buses": [ 4 ],
             "ternary_indirection_stage_table": {
               "stage_number": 7,
               "stage_table_type": "ternary_indirection",
@@ -51308,13 +50862,13 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 14
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2
               },
               "action_format": [
                 {
                   "action_name": "NoAction",
-                  "action_handle": 536870944,
+                  "action_handle": 536870943,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -51324,7 +50878,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870943,
+                  "action_handle": 536870942,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -51360,7 +50914,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870944,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -51379,7 +50933,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870943,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -51410,7 +50964,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870944,
+      "default_action_handle": 536870943,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -51441,7 +50995,7 @@
           "stage_number": 7,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 2,
+          "logical_table_id": 3,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -51470,408 +51024,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777240,
-      "name": "forwarding.multicast_v4",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 7,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "pack_format": [
-              {
-                "table_word_width": 141,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 3,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_2--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_2--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_1--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_1--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--version--",
-                        "lsb_mem_word_offset": 43,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "version",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2, 3, 4 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 4
-            },
-            "default_next_table": 0,
-            "result_physical_buses": [ 4, 6, 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 7,
-              "stage_table_type": "ternary_indirection",
-              "size": 2048,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 2,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 66,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 98,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 2,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 34,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": {
-                "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 26
-              },
-              "action_format": [
-                {
-                  "action_name": "NoAction",
-                  "action_handle": 536870946,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 128,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "immediate_fields": []
-                },
-                {
-                  "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870945,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 128,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 70,
-                  "immediate_fields": [
-                    {
-                      "param_name": "next_id",
-                      "param_type": "parameter",
-                      "param_shift": 0,
-                      "dest_start": 0,
-                      "dest_width": 32
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108872,
-          "name": "forwarding.multicast_v4_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870946,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": []
-        },
-        {
-          "name": "forwarding.set_next_id",
-          "handle": 536870945,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            {
-              "name": "next_id",
-              "start_bit": 0,
-              "position": 0,
-              "bit_width": 32
-            }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
-              "src": [ { "type": "immediate", "name": "next_id" } ]
-            }
-          ]
-        }
-      ],
-      "default_action_handle": 536870946,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "vlan_tag.vlan_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 12,
-          "bit_width_full": 12,
-          "is_valid": false,
-          "instance_name": "vlan_tag",
-          "field_name": "vlan_id"
-        },
-        {
-          "name": "ipv4.dst_addr",
-          "position": 1,
-          "match_type": "lpm",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "ipv4",
-          "field_name": "dst_addr"
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108872,
-      "name": "forwarding.multicast_v4_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 7,
-          "size": 2048,
-          "stage_table_type": "statistics",
-          "logical_table_id": 3,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
-            ],
-            "spare_bank_memory_unit": 55
-          },
-          "stats_alu_index": 2
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777241,
+      "handle": 16777239,
       "name": "forwarding.acl",
       "table_type": "match",
       "size": 256,
@@ -51975,7 +51128,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ipv4.dst_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
@@ -52029,7 +51182,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.original_ether_type",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -52038,7 +51191,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4.dst_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -52056,7 +51209,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -52065,7 +51218,7 @@
                         "field_width": 4
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -52092,7 +51245,7 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.original_ether_type",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -52110,7 +51263,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ethernet.src_addr",
+                        "field_name": "ipv4.dst_addr",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -52137,25 +51290,16 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "field_name": "ethernet.src_addr",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 16
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -52164,7 +51308,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -52227,7 +51371,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
@@ -52366,7 +51510,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870950,
+                  "action_handle": 536870947,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52376,7 +51520,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870947,
+                  "action_handle": 536870944,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52394,7 +51538,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870948,
+                  "action_handle": 536870945,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52413,7 +51557,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870949,
+                  "action_handle": 536870946,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52433,7 +51577,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108872,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -52441,7 +51585,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870950,
+          "handle": 536870947,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52460,7 +51604,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870947,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52492,7 +51636,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870948,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52513,14 +51657,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870949,
+          "handle": 536870946,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52541,13 +51685,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870950,
+      "default_action_handle": 536870947,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -52690,7 +51834,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108872,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -52728,7 +51872,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777242,
+      "handle": 16777240,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -52744,12 +51888,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108874,
+          "handle": 67108873,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870955,
+      "default_action_handle": 536870952,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -54465,7 +53609,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870955,
+                "action_handle": 536870952,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -54475,7 +53619,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870951,
+                "action_handle": 536870948,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 162,
@@ -54485,7 +53629,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870952,
+                "action_handle": 536870949,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 162,
@@ -54495,7 +53639,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870953,
+                "action_handle": 536870950,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 162,
@@ -54505,7 +53649,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870954,
+                "action_handle": 536870951,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 162,
@@ -54957,7 +54101,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870955,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54975,7 +54119,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870951,
+          "handle": 536870948,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55002,14 +54146,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870952,
+          "handle": 536870949,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55042,7 +54186,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -55050,7 +54194,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55058,14 +54202,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870953,
+          "handle": 536870950,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55094,7 +54238,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55121,7 +54265,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870954,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55156,7 +54300,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55164,7 +54308,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55213,7 +54357,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108873,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -55284,7 +54428,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870955
+              "action_handle": 536870952
             },
             {
               "memory_word_width": 128,
@@ -55325,7 +54469,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870951
+              "action_handle": 536870948
             },
             {
               "memory_word_width": 128,
@@ -55384,7 +54528,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870952
+              "action_handle": 536870949
             },
             {
               "memory_word_width": 128,
@@ -55461,7 +54605,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870953
+              "action_handle": 536870950
             },
             {
               "memory_word_width": 128,
@@ -55538,7 +54682,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870954
+              "action_handle": 536870951
             }
           ],
           "memory_resource_allocation": {
@@ -55555,7 +54699,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870955,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55573,7 +54717,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870951,
+          "handle": 536870948,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55600,14 +54744,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870952,
+          "handle": 536870949,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55640,7 +54784,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -55648,7 +54792,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55656,14 +54800,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870953,
+          "handle": 536870950,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55692,7 +54836,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55719,7 +54863,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870954,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55754,7 +54898,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55762,7 +54906,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55812,7 +54956,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777243,
+      "handle": 16777241,
       "name": "tbl_act_7",
       "table_type": "match",
       "size": 1,
@@ -55839,7 +54983,7 @@
             "action_format": [
               {
                 "action_name": "act_7",
-                "action_handle": 536870956,
+                "action_handle": 536870953,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -55857,7 +55001,7 @@
       "actions": [
         {
           "name": "act_7",
-          "handle": 536870956,
+          "handle": 536870953,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55885,7 +55029,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870956,
+      "default_action_handle": 536870953,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -55901,7 +55045,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777244,
+      "handle": 16777242,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -55923,14 +55067,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108875,
+          "handle": 67108874,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870960,
+      "default_action_handle": 536870957,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -57582,7 +56726,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870960,
+                "action_handle": 536870957,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57592,7 +56736,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870957,
+                "action_handle": 536870954,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57602,7 +56746,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870958,
+                "action_handle": 536870955,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57612,7 +56756,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870959,
+                "action_handle": 536870956,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -58073,7 +57217,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870960,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58091,7 +57235,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870957,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58120,7 +57264,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58147,7 +57291,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870958,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58182,7 +57326,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58190,7 +57334,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58237,7 +57381,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870959,
+          "handle": 536870956,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58272,7 +57416,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58280,7 +57424,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58394,7 +57538,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870960
+              "action_handle": 536870957
             },
             {
               "memory_word_width": 128,
@@ -58480,7 +57624,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870957
+              "action_handle": 536870954
             },
             {
               "memory_word_width": 128,
@@ -58604,7 +57748,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870958
+              "action_handle": 536870955
             },
             {
               "memory_word_width": 128,
@@ -58728,7 +57872,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870959
+              "action_handle": 536870956
             }
           ],
           "memory_resource_allocation": {
@@ -58741,7 +57885,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870960,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58759,7 +57903,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870957,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58788,7 +57932,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58815,7 +57959,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870958,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58850,7 +57994,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58858,7 +58002,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58905,7 +58049,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870959,
+          "handle": 536870956,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58940,7 +58084,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58948,7 +58092,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58998,7 +58142,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108875,
+      "handle": 67108874,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -59037,7 +58181,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777245,
+      "handle": 16777243,
       "name": "tbl_act_10",
       "table_type": "match",
       "size": 1,
@@ -59060,11 +58204,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_10",
-                "action_handle": 536870961,
+                "action_handle": 536870958,
                 "table_name": "tbl_act_22",
                 "next_table": 0,
                 "next_table_full": 177,
@@ -59082,7 +58226,7 @@
       "actions": [
         {
           "name": "act_10",
-          "handle": 536870961,
+          "handle": 536870958,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -59101,20 +58245,20 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H12" } ]
+              "src": [ { "type": "phv", "name": "H11" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870961,
+      "default_action_handle": 536870958,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -59130,7 +58274,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777246,
+      "handle": 16777244,
       "name": "tbl_act_8",
       "table_type": "match",
       "size": 512,
@@ -59153,14 +58297,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_8",
-                "action_handle": 536870962,
-                "table_name": "next_broadcast",
+                "action_handle": 536870959,
+                "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 178,
+                "next_table_full": 255,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -59175,7 +58319,7 @@
       "actions": [
         {
           "name": "act_8",
-          "handle": 536870962,
+          "handle": 536870959,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -59193,7 +58337,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870962,
+      "default_action_handle": 536870959,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -59207,7 +58351,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108876,
+          "handle": 67108875,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -59215,7 +58359,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108876,
+      "handle": 67108875,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -59236,12 +58380,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 79
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 3
         }
       ],
       "how_referenced": "indirect",
@@ -59250,2466 +58394,6 @@
       "byte_counter_resolution": 36,
       "packet_counter_resolution": 28,
       "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777247,
-      "name": "next.broadcast",
-      "table_type": "match",
-      "size": 3072,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554437,
-          "name": "next_broadcast$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108877,
-          "name": "next.broadcast_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870964,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "fabric_metadata.next_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "next_id"
-        }
-      ],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 11,
-            "size": 3072,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "hash_bit": 0,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 1,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 2,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 3,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 4,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 5,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 6,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 7,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 8,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 9,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 10,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 11,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 12,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 13,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 14,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 15,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 16,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 17,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 18,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 19,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 20,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 21,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 22,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 23,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 24,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 26,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 27,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 28,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 29,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870964,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 65,
-                "immediate_fields": []
-              },
-              {
-                "action_name": "next.set_mcast_group",
-                "action_handle": 536870963,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
-                "immediate_fields": [
-                  {
-                    "param_name": "gid",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 16,
-                    "dest_width": 16
-                  },
-                  {
-                    "param_name": "smac",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 16
-                  }
-                ]
-              }
-            ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "ways": [
-              {
-                "stage_number": 11,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 11,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 11,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 20,
-                  "hash_entry_bit_hi": 29,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870964,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870963,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108877,
-      "name": "next.broadcast_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 11,
-          "size": 4096,
-          "stage_table_type": "statistics",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] },
-              { "memory_units": [ 80 ], "vpns": [ 2 ] }
-            ],
-            "spare_bank_memory_unit": 80
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554437,
-      "name": "next_broadcast$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 11,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870964
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "smac"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870963
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 90
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870964,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870963,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ],
-      "how_referenced": "direct"
     }
   ],
   "configuration_cache": [
@@ -61746,32 +58430,32 @@
     {
       "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
       "name": "stage_1_match_input_xbar_din_power_ctl",
-      "value": "000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000800000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000800000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_2_parity_group_mask",
+      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
-      "name": "stage_3_parity_group_mask",
-      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000800000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[5].dp.xbar_hash.hash.parity_group_mask",
@@ -61781,17 +58465,17 @@
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
       "name": "stage_6_match_input_xbar_din_power_ctl",
-      "value": "0000005000000000000000000000000000000000000000400000000000000000000000880000008000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001800000008000000000000000000000000000000a00000000000000000000000440000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_6_parity_group_mask",
-      "value": "00000001000000000000000c00000000000000020000000000000008000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000c00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000005000000000000000000000000000000040000000200000000000000000000000480000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001800000000000000000000000000000040000000200000000000000000000000240000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -61801,7 +58485,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "000000d200000000000000000000000000000024000000800000000000000000000000880000008100000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000003a0000000c000000000000000000000024000000400000000000000000000000c4000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[9].dp.match_input_xbar_din_power_ctl",
@@ -61816,7 +58500,7 @@
     {
       "fully_qualified_name": "mau[10].dp.match_input_xbar_din_power_ctl",
       "name": "stage_10_match_input_xbar_din_power_ctl",
-      "value": "000000120000000200000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000a00000006000000000000000000000000000000c00000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.parity_group_mask",
@@ -61826,7 +58510,7 @@
     {
       "fully_qualified_name": "mau[11].dp.match_input_xbar_din_power_ctl",
       "name": "stage_11_match_input_xbar_din_power_ctl",
-      "value": "0000000000000002000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.xbar_hash.hash.parity_group_mask",
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/fabric.p4info b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/fabric.p4info
index cb3e8ff..b47cabe 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/fabric.p4info
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/fabric.p4info
@@ -23,7 +23,7 @@
   }
   match_fields {
     id: 1
-    name: "spgw_meta.s1u_sgw_addr"
+    name: "ipv4.dst_addr"
     bitwidth: 32
     match_type: EXACT
   }
@@ -220,34 +220,6 @@
 }
 tables {
   preamble {
-    id: 33615204
-    name: "forwarding.multicast_v4"
-    alias: "multicast_v4"
-  }
-  match_fields {
-    id: 1
-    name: "hdr.vlan_tag.vlan_id"
-    bitwidth: 12
-    match_type: EXACT
-  }
-  match_fields {
-    id: 2
-    name: "hdr.ipv4.dst_addr"
-    bitwidth: 32
-    match_type: LPM
-  }
-  action_refs {
-    id: 16829931
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 302009236
-  size: 1024
-}
-tables {
-  preamble {
     id: 33587782
     name: "forwarding.acl"
     alias: "acl"
@@ -400,28 +372,6 @@
   direct_resource_ids: 301993193
   size: 1024
 }
-tables {
-  preamble {
-    id: 33608545
-    name: "next.broadcast"
-    alias: "broadcast"
-  }
-  match_fields {
-    id: 1
-    name: "fabric_metadata.next_id"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16778974
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 301995093
-  size: 1024
-}
 actions {
   preamble {
     id: 16800567
@@ -445,13 +395,6 @@
 }
 actions {
   preamble {
-    id: 16808035
-    name: "spgw_ingress.gtpu_decap"
-    alias: "gtpu_decap"
-  }
-}
-actions {
-  preamble {
     id: 16784665
     name: "spgw_ingress.set_dl_sess_info"
     alias: "set_dl_sess_info"
@@ -613,23 +556,6 @@
 }
 actions {
   preamble {
-    id: 16778974
-    name: "next.set_mcast_group"
-    alias: "set_mcast_group"
-  }
-  params {
-    id: 1
-    name: "gid"
-    bitwidth: 16
-  }
-  params {
-    id: 2
-    name: "smac"
-    bitwidth: 48
-  }
-}
-actions {
-  preamble {
     id: 16841192
     name: "next.mpls_routing_v4"
     alias: "mpls_routing_v4"
@@ -789,17 +715,6 @@
 }
 direct_counters {
   preamble {
-    id: 302009236
-    name: "forwarding.multicast_v4_counter"
-    alias: "multicast_v4_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33615204
-}
-direct_counters {
-  preamble {
     id: 302000008
     name: "forwarding.acl_counter"
     alias: "acl_counter"
@@ -831,17 +746,6 @@
   }
   direct_table_id: 33569488
 }
-direct_counters {
-  preamble {
-    id: 301995093
-    name: "next.broadcast_counter"
-    alias: "broadcast_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33608545
-}
 controller_packet_metadata {
   preamble {
     id: 2868941301
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/tofino.bin b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/tofino.bin
index 5b3179f..a152ac7 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/tofino.bin
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/mavericks/tofino.bin
Binary files differ
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/context.json b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/context.json
index a2f8b06..7a3d948 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/context.json
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "02/01/18 21:22:45",
+  "build_date": "02/04/18 01:26:51",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -12,7 +12,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29,7 +29,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -46,8 +46,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -63,8 +63,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -80,41 +80,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -128,10 +94,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -145,11 +111,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -165,7 +165,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -179,10 +179,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -193,7 +396,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -210,7 +413,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -221,7 +424,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -238,7 +441,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -255,7 +458,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -272,7 +475,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -289,7 +492,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -306,7 +509,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -317,7 +520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -328,7 +531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -345,7 +548,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -362,7 +565,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -379,7 +582,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -396,7 +599,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -413,7 +616,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -430,7 +633,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -447,23 +650,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -475,57 +689,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -539,27 +703,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -573,10 +824,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -587,7 +838,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -601,10 +852,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -615,7 +866,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -626,7 +877,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -640,11 +891,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -660,24 +928,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -691,10 +942,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -708,10 +959,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -725,10 +976,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -739,7 +990,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -753,26 +1004,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -784,8 +1052,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -801,8 +1069,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -818,8 +1086,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -835,8 +1103,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -852,11 +1120,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -869,8 +1137,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -886,8 +1154,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -903,8 +1171,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -920,8 +1188,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -937,8 +1205,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -954,8 +1222,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -971,11 +1239,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -988,24 +1256,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1019,295 +1270,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1318,7 +1284,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1335,7 +1301,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1346,7 +1312,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -1363,7 +1329,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1380,7 +1346,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1391,7 +1357,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1402,7 +1368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1413,7 +1379,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1424,7 +1390,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1435,7 +1401,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1452,7 +1418,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1469,7 +1435,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1486,7 +1452,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -1503,7 +1469,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1514,7 +1480,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1525,7 +1491,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1542,7 +1508,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1553,7 +1519,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1564,7 +1530,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1575,7 +1541,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1586,7 +1552,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1603,7 +1569,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1614,7 +1580,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1625,7 +1591,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1642,7 +1608,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1653,7 +1619,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1670,7 +1636,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1687,7 +1653,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1704,7 +1670,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1723,7 +1689,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1757,7 +1723,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1791,7 +1757,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -1993,12 +1959,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -2010,23 +1976,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -2144,7 +2093,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -2216,7 +2165,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -2235,7 +2184,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -2254,7 +2203,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -2561,7 +2510,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2589,7 +2538,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2808,7 +2757,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2819,7 +2768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2830,7 +2779,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2858,7 +2807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2897,7 +2846,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2942,7 +2891,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2953,7 +2902,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2964,7 +2913,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2975,7 +2924,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3082,7 +3031,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3116,7 +3065,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3144,7 +3093,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3161,7 +3110,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3178,7 +3127,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3195,7 +3144,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3212,7 +3161,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3229,7 +3178,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3251,7 +3200,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3268,7 +3217,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3285,8 +3234,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -3302,8 +3251,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -3319,41 +3268,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3367,10 +3282,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -3384,11 +3299,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -3404,7 +3353,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -3418,10 +3367,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3432,7 +3584,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3449,7 +3601,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3460,7 +3612,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3477,7 +3629,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3494,7 +3646,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3511,7 +3663,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3528,7 +3680,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3545,7 +3697,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -3556,7 +3708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3567,7 +3719,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3584,7 +3736,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3601,7 +3753,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3618,7 +3770,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3635,7 +3787,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3652,7 +3804,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3669,7 +3821,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3686,23 +3838,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -3714,57 +3877,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3778,27 +3891,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3812,10 +4012,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3826,7 +4026,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3840,10 +4040,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3854,7 +4054,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3865,7 +4065,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3879,11 +4079,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -3899,24 +4116,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -3930,10 +4130,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3947,10 +4147,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3964,10 +4164,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3978,7 +4178,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3992,26 +4192,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -4023,8 +4240,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4040,8 +4257,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4057,8 +4274,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4074,8 +4291,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4091,11 +4308,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -4108,8 +4325,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4125,8 +4342,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4142,8 +4359,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4159,8 +4376,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4176,8 +4393,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4193,8 +4410,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -4210,11 +4427,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -4227,24 +4444,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4258,295 +4458,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4557,7 +4472,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4574,7 +4489,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4585,7 +4500,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -4602,7 +4517,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4619,7 +4534,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4630,7 +4545,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4641,7 +4556,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4652,7 +4567,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4663,7 +4578,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4674,7 +4589,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4691,7 +4606,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4708,7 +4623,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4725,7 +4640,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4742,7 +4657,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4753,7 +4668,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4764,7 +4679,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4781,7 +4696,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4792,7 +4707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4803,7 +4718,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4814,7 +4729,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4825,7 +4740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4842,7 +4757,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4853,7 +4768,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4864,7 +4779,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4881,7 +4796,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4892,7 +4807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4909,7 +4824,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4926,7 +4841,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4943,7 +4858,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4962,7 +4877,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4996,7 +4911,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5030,7 +4945,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5232,12 +5147,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -5249,23 +5164,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -5383,7 +5281,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -5455,7 +5353,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -5474,7 +5372,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -5493,7 +5391,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -5800,7 +5698,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5828,7 +5726,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6047,7 +5945,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6058,7 +5956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6069,7 +5967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6097,7 +5995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6136,7 +6034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6181,7 +6079,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6192,7 +6090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6203,7 +6101,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6214,7 +6112,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6321,7 +6219,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6355,7 +6253,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6383,7 +6281,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6400,7 +6298,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6417,7 +6315,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6434,7 +6332,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6451,7 +6349,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6468,7 +6366,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6490,7 +6388,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6507,7 +6405,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6524,8 +6422,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -6541,8 +6439,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -6558,41 +6456,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6606,10 +6470,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -6623,11 +6487,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -6643,7 +6541,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6657,10 +6555,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6671,7 +6772,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6688,7 +6789,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6699,7 +6800,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6716,7 +6817,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6733,7 +6834,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6750,7 +6851,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6767,7 +6868,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6784,7 +6885,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -6795,7 +6896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6806,7 +6907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6823,7 +6924,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6840,7 +6941,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6857,7 +6958,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6874,7 +6975,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6891,7 +6992,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6908,7 +7009,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6925,23 +7026,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -6953,57 +7065,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7017,27 +7079,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7051,10 +7200,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7065,7 +7214,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7079,10 +7228,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7093,7 +7242,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7104,7 +7253,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7118,11 +7267,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7138,24 +7304,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -7169,10 +7318,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7186,10 +7335,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7203,10 +7352,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7217,7 +7366,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7231,26 +7380,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -7262,8 +7428,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7279,8 +7445,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7296,8 +7462,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7313,8 +7479,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7330,11 +7496,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -7347,8 +7513,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7364,8 +7530,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7381,8 +7547,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7398,8 +7564,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7415,8 +7581,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7432,8 +7598,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -7449,11 +7615,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -7466,24 +7632,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7497,295 +7646,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7796,7 +7660,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7813,7 +7677,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7824,7 +7688,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -7841,7 +7705,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7858,7 +7722,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7869,7 +7733,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7880,7 +7744,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7891,7 +7755,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7902,7 +7766,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7913,7 +7777,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7930,7 +7794,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7947,7 +7811,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7964,7 +7828,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7981,7 +7845,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7992,7 +7856,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8003,7 +7867,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8020,7 +7884,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8031,7 +7895,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8042,7 +7906,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8053,7 +7917,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8064,7 +7928,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8081,7 +7945,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8092,7 +7956,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8103,7 +7967,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8120,7 +7984,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8131,7 +7995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8148,7 +8012,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8165,7 +8029,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8182,7 +8046,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8201,7 +8065,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8235,7 +8099,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8269,7 +8133,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8471,12 +8335,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -8488,23 +8352,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -8622,7 +8469,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -8694,7 +8541,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -8713,7 +8560,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -8732,7 +8579,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -9039,7 +8886,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9067,7 +8914,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9286,7 +9133,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9297,7 +9144,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9308,7 +9155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9336,7 +9183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9375,7 +9222,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9420,7 +9267,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9431,7 +9278,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9442,7 +9289,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9453,7 +9300,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9560,7 +9407,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9594,7 +9441,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9622,7 +9469,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9639,7 +9486,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9656,7 +9503,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9673,7 +9520,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9690,7 +9537,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9707,7 +9554,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9729,7 +9576,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9746,7 +9593,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9763,8 +9610,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -9780,8 +9627,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -9797,41 +9644,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9845,10 +9658,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -9862,11 +9675,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -9882,7 +9729,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9896,10 +9743,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9910,7 +9960,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9927,7 +9977,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9938,7 +9988,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9955,7 +10005,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9972,7 +10022,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9989,7 +10039,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10006,7 +10056,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10023,7 +10073,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10034,7 +10084,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10045,7 +10095,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10062,7 +10112,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10079,7 +10129,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10096,7 +10146,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10113,7 +10163,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10130,7 +10180,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10147,7 +10197,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10164,23 +10214,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10192,57 +10253,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10256,27 +10267,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10290,10 +10388,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10304,7 +10402,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10318,10 +10416,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10332,7 +10430,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10343,7 +10441,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10357,11 +10455,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10377,24 +10492,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -10408,10 +10506,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10425,10 +10523,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10442,10 +10540,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10456,7 +10554,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10470,26 +10568,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -10501,8 +10616,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10518,8 +10633,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10535,8 +10650,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10552,8 +10667,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10569,11 +10684,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10586,8 +10701,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10603,8 +10718,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10620,8 +10735,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10637,8 +10752,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10654,8 +10769,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10671,8 +10786,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -10688,11 +10803,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -10705,24 +10820,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10736,295 +10834,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11035,7 +10848,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11052,7 +10865,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11063,7 +10876,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -11080,7 +10893,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11097,7 +10910,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11108,7 +10921,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11119,7 +10932,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11130,7 +10943,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11141,7 +10954,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11152,7 +10965,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11169,7 +10982,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11186,7 +10999,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11203,7 +11016,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11220,7 +11033,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11231,7 +11044,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11242,7 +11055,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11259,7 +11072,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11270,7 +11083,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11281,7 +11094,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11292,7 +11105,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11303,7 +11116,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11320,7 +11133,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11331,7 +11144,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11342,7 +11155,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11359,7 +11172,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11370,7 +11183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11387,7 +11200,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11404,7 +11217,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11421,7 +11234,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11440,7 +11253,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11474,7 +11287,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11508,7 +11321,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11710,12 +11523,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -11727,23 +11540,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -11861,7 +11657,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -11933,7 +11729,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -11952,7 +11748,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -11971,7 +11767,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -12278,7 +12074,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12306,7 +12102,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12525,7 +12321,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12536,7 +12332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12547,7 +12343,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12575,7 +12371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12614,7 +12410,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12659,7 +12455,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12670,7 +12466,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12681,7 +12477,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12692,7 +12488,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12799,7 +12595,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12833,7 +12629,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12861,7 +12657,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12878,7 +12674,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12895,7 +12691,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12912,7 +12708,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12929,7 +12725,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12946,7 +12742,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12968,7 +12764,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12985,7 +12781,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13002,8 +12798,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -13019,8 +12815,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -13036,41 +12832,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13084,10 +12846,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -13101,11 +12863,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -13121,7 +12917,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13135,10 +12931,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13149,7 +13148,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13166,7 +13165,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13177,7 +13176,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13194,7 +13193,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13211,7 +13210,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13228,7 +13227,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13245,7 +13244,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13262,7 +13261,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -13273,7 +13272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13284,7 +13283,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13301,7 +13300,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13318,7 +13317,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13335,7 +13334,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13352,7 +13351,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13369,7 +13368,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13386,7 +13385,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13403,23 +13402,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -13431,57 +13441,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13495,27 +13455,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13529,10 +13576,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13543,7 +13590,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13557,10 +13604,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13571,7 +13618,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13582,7 +13629,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13596,11 +13643,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13616,24 +13680,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13647,10 +13694,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13664,10 +13711,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13681,10 +13728,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13695,7 +13742,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13709,26 +13756,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -13740,8 +13804,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13757,8 +13821,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13774,8 +13838,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13791,8 +13855,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13808,11 +13872,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -13825,8 +13889,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13842,8 +13906,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13859,8 +13923,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13876,8 +13940,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13893,8 +13957,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13910,8 +13974,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -13927,11 +13991,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -13944,24 +14008,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13975,295 +14022,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14274,7 +14036,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14291,7 +14053,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14302,7 +14064,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -14319,7 +14081,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14336,7 +14098,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14347,7 +14109,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14358,7 +14120,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14369,7 +14131,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14380,7 +14142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14391,7 +14153,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14408,7 +14170,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14425,7 +14187,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14442,7 +14204,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -14459,7 +14221,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14470,7 +14232,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14481,7 +14243,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14498,7 +14260,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14509,7 +14271,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14520,7 +14282,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14531,7 +14293,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14542,7 +14304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14559,7 +14321,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14570,7 +14332,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14581,7 +14343,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14598,7 +14360,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14609,7 +14371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14626,7 +14388,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14643,7 +14405,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14660,7 +14422,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14679,7 +14441,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14713,7 +14475,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14747,7 +14509,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -14949,12 +14711,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -14966,23 +14728,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -15100,7 +14845,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -15172,7 +14917,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -15191,7 +14936,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -15210,7 +14955,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -15517,7 +15262,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15545,7 +15290,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15764,7 +15509,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15775,7 +15520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15786,7 +15531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15814,7 +15559,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15853,7 +15598,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15898,7 +15643,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15909,7 +15654,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15920,7 +15665,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15931,7 +15676,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16038,7 +15783,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16072,7 +15817,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16100,7 +15845,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16117,7 +15862,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16134,7 +15879,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16151,7 +15896,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16168,7 +15913,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16185,7 +15930,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16207,7 +15952,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16224,7 +15969,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16241,8 +15986,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -16258,8 +16003,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -16275,41 +16020,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16323,10 +16034,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -16340,11 +16051,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -16360,7 +16105,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -16374,10 +16119,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16388,7 +16336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16405,7 +16353,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16416,7 +16364,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16433,7 +16381,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16450,7 +16398,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16467,7 +16415,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16484,7 +16432,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16501,7 +16449,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -16512,7 +16460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16523,7 +16471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16540,7 +16488,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16557,7 +16505,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16574,7 +16522,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16591,7 +16539,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16608,7 +16556,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16625,7 +16573,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16642,23 +16590,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16670,57 +16629,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -16734,27 +16643,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16768,10 +16764,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16782,7 +16778,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16796,10 +16792,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16810,7 +16806,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16821,7 +16817,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16835,11 +16831,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -16855,24 +16868,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -16886,10 +16882,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16903,10 +16899,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16920,10 +16916,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16934,7 +16930,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16948,26 +16944,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -16979,8 +16992,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -16996,8 +17009,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17013,8 +17026,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17030,8 +17043,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17047,11 +17060,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -17064,8 +17077,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17081,8 +17094,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17098,8 +17111,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17115,8 +17128,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17132,8 +17145,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17149,8 +17162,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -17166,11 +17179,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -17183,24 +17196,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17214,295 +17210,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17513,7 +17224,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17530,7 +17241,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17541,7 +17252,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -17558,7 +17269,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17575,7 +17286,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17586,7 +17297,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17597,7 +17308,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17608,7 +17319,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17619,7 +17330,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17630,7 +17341,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17647,7 +17358,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17664,7 +17375,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17681,7 +17392,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17698,7 +17409,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17709,7 +17420,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17720,7 +17431,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17737,7 +17448,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17748,7 +17459,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17759,7 +17470,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17770,7 +17481,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17781,7 +17492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17798,7 +17509,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17809,7 +17520,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17820,7 +17531,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17837,7 +17548,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17848,7 +17559,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17865,7 +17576,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17882,7 +17593,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17899,7 +17610,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17918,7 +17629,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17952,7 +17663,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17986,7 +17697,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -18188,12 +17899,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -18205,23 +17916,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -18339,7 +18033,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -18411,7 +18105,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -18430,7 +18124,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -18449,7 +18143,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -18756,7 +18450,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -18784,7 +18478,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19003,7 +18697,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19014,7 +18708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19025,7 +18719,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19053,7 +18747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19092,7 +18786,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19137,7 +18831,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19148,7 +18842,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19159,7 +18853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19170,7 +18864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19277,7 +18971,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19311,7 +19005,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19339,7 +19033,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19356,7 +19050,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19373,7 +19067,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19390,7 +19084,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19407,7 +19101,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19424,7 +19118,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19446,7 +19140,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19463,7 +19157,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19480,8 +19174,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -19497,8 +19191,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -19514,41 +19208,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19562,10 +19222,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -19579,11 +19239,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -19599,7 +19293,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19613,10 +19307,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19627,7 +19524,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19644,7 +19541,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19655,7 +19552,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19672,7 +19569,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19689,7 +19586,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19706,7 +19603,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19723,7 +19620,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19740,7 +19637,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19751,7 +19648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19762,7 +19659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19779,7 +19676,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19796,7 +19693,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19813,7 +19710,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19830,7 +19727,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19847,7 +19744,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19864,7 +19761,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19881,23 +19778,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -19909,57 +19817,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19973,27 +19831,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20007,10 +19952,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20021,7 +19966,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20035,10 +19980,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20049,7 +19994,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20060,7 +20005,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20074,11 +20019,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20094,24 +20056,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -20125,10 +20070,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20142,10 +20087,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20159,10 +20104,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20173,7 +20118,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20187,26 +20132,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -20218,8 +20180,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20235,8 +20197,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20252,8 +20214,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20269,8 +20231,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20286,11 +20248,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20303,8 +20265,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20320,8 +20282,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20337,8 +20299,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20354,8 +20316,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20371,8 +20333,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20388,8 +20350,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -20405,11 +20367,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -20422,24 +20384,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20453,295 +20398,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20752,7 +20412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20769,7 +20429,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20780,7 +20440,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -20797,7 +20457,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20814,7 +20474,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20825,7 +20485,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20836,7 +20496,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20847,7 +20507,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20858,7 +20518,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20869,7 +20529,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20886,7 +20546,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20903,7 +20563,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20920,7 +20580,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20937,7 +20597,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20948,7 +20608,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20959,7 +20619,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20976,7 +20636,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20987,7 +20647,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20998,7 +20658,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21009,7 +20669,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21020,7 +20680,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21037,7 +20697,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21048,7 +20708,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21059,7 +20719,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21076,7 +20736,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21087,7 +20747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21104,7 +20764,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21121,7 +20781,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21138,7 +20798,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21157,7 +20817,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21191,7 +20851,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21225,7 +20885,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21427,12 +21087,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -21444,23 +21104,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -21578,7 +21221,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -21650,7 +21293,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -21669,7 +21312,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -21688,7 +21331,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -21995,7 +21638,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22023,7 +21666,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22242,7 +21885,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22253,7 +21896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22264,7 +21907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22292,7 +21935,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22331,7 +21974,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22376,7 +22019,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22387,7 +22030,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22398,7 +22041,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22409,7 +22052,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22516,7 +22159,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22550,7 +22193,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22578,7 +22221,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22595,7 +22238,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22612,7 +22255,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22629,7 +22272,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22646,7 +22289,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22663,7 +22306,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22685,7 +22328,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22702,7 +22345,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22719,8 +22362,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -22736,8 +22379,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -22753,41 +22396,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22801,10 +22410,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -22818,11 +22427,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -22838,7 +22481,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22852,10 +22495,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22866,7 +22712,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22883,7 +22729,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22894,7 +22740,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22911,7 +22757,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22928,7 +22774,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22945,7 +22791,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22962,7 +22808,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22979,7 +22825,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -22990,7 +22836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23001,7 +22847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23018,7 +22864,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23035,7 +22881,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23052,7 +22898,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23069,7 +22915,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23086,7 +22932,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23103,7 +22949,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23120,23 +22966,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23148,57 +23005,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23212,27 +23019,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23246,10 +23140,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23260,7 +23154,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23274,10 +23168,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23288,7 +23182,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23299,7 +23193,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23313,11 +23207,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23333,24 +23244,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -23364,10 +23258,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23381,10 +23275,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23398,10 +23292,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23412,7 +23306,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23426,26 +23320,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -23457,8 +23368,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23474,8 +23385,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23491,8 +23402,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23508,8 +23419,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23525,11 +23436,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -23542,8 +23453,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23559,8 +23470,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23576,8 +23487,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23593,8 +23504,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23610,8 +23521,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23627,8 +23538,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -23644,11 +23555,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -23661,24 +23572,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23692,295 +23586,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23991,7 +23600,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24008,7 +23617,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24019,7 +23628,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -24036,7 +23645,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24053,7 +23662,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24064,7 +23673,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24075,7 +23684,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24086,7 +23695,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24097,7 +23706,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24108,7 +23717,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24125,7 +23734,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24142,7 +23751,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24159,7 +23768,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24176,7 +23785,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24187,7 +23796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24198,7 +23807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24215,7 +23824,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24226,7 +23835,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24237,7 +23846,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24248,7 +23857,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24259,7 +23868,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24276,7 +23885,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24287,7 +23896,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24298,7 +23907,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24315,7 +23924,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24326,7 +23935,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24343,7 +23952,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24360,7 +23969,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24377,7 +23986,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24396,7 +24005,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24430,7 +24039,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24464,7 +24073,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24666,12 +24275,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -24683,23 +24292,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -24817,7 +24409,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -24889,7 +24481,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -24908,7 +24500,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -24927,7 +24519,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -25234,7 +24826,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25262,7 +24854,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25481,7 +25073,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25492,7 +25084,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25503,7 +25095,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25531,7 +25123,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25570,7 +25162,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25615,7 +25207,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25626,7 +25218,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25637,7 +25229,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25648,7 +25240,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25755,7 +25347,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25789,7 +25381,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25817,7 +25409,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25834,7 +25426,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25851,7 +25443,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25868,7 +25460,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25885,7 +25477,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25902,7 +25494,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -25924,7 +25516,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25941,7 +25533,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -25958,8 +25550,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -25975,8 +25567,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -25992,41 +25584,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -26040,10 +25598,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -26057,11 +25615,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -26077,7 +25669,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -26091,10 +25683,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26105,7 +25900,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26122,7 +25917,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26133,7 +25928,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26150,7 +25945,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26167,7 +25962,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26184,7 +25979,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26201,7 +25996,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26218,7 +26013,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -26229,7 +26024,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26240,7 +26035,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26257,7 +26052,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26274,7 +26069,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26291,7 +26086,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26308,7 +26103,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26325,7 +26120,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26342,7 +26137,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26359,23 +26154,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26387,57 +26193,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -26451,27 +26207,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26485,10 +26328,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26499,7 +26342,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26513,10 +26356,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26527,7 +26370,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26538,7 +26381,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26552,11 +26395,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26572,24 +26432,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -26603,10 +26446,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26620,10 +26463,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26637,10 +26480,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26651,7 +26494,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26665,26 +26508,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -26696,8 +26556,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26713,8 +26573,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26730,8 +26590,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26747,8 +26607,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26764,11 +26624,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26781,8 +26641,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26798,8 +26658,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26815,8 +26675,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26832,8 +26692,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26849,8 +26709,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26866,8 +26726,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -26883,11 +26743,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -26900,24 +26760,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26931,295 +26774,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27230,7 +26788,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27247,7 +26805,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27258,7 +26816,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -27275,7 +26833,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27292,7 +26850,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27303,7 +26861,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27314,7 +26872,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27325,7 +26883,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27336,7 +26894,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27347,7 +26905,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27364,7 +26922,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27381,7 +26939,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27398,7 +26956,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -27415,7 +26973,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27426,7 +26984,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27437,7 +26995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27454,7 +27012,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27465,7 +27023,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27476,7 +27034,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27487,7 +27045,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27498,7 +27056,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27515,7 +27073,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27526,7 +27084,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27537,7 +27095,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27554,7 +27112,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27565,7 +27123,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27582,7 +27140,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27599,7 +27157,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27616,7 +27174,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -27635,7 +27193,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27669,7 +27227,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27703,7 +27261,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -27905,12 +27463,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -27922,23 +27480,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -28056,7 +27597,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -28128,7 +27669,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -28147,7 +27688,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -28166,7 +27707,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -28473,7 +28014,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -28501,7 +28042,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -28720,7 +28261,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28731,7 +28272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28742,7 +28283,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28770,7 +28311,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28809,7 +28350,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28854,7 +28395,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28865,7 +28406,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28876,7 +28417,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28887,7 +28428,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -28994,7 +28535,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29028,7 +28569,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29056,7 +28597,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29073,7 +28614,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29090,7 +28631,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29107,7 +28648,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29124,7 +28665,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29141,7 +28682,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29163,7 +28704,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29180,7 +28721,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29197,8 +28738,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -29214,8 +28755,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -29231,41 +28772,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29279,10 +28786,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -29296,11 +28803,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -29316,7 +28857,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -29330,10 +28871,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29344,7 +29088,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29361,7 +29105,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29372,7 +29116,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29389,7 +29133,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29406,7 +29150,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29423,7 +29167,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29440,7 +29184,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29457,7 +29201,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -29468,7 +29212,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29479,7 +29223,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29496,7 +29240,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29513,7 +29257,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29530,7 +29274,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29547,7 +29291,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29564,7 +29308,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29581,7 +29325,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29598,23 +29342,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -29626,57 +29381,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -29690,27 +29395,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29724,10 +29516,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29738,7 +29530,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29752,10 +29544,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29766,7 +29558,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29777,7 +29569,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29791,11 +29583,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29811,24 +29620,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -29842,10 +29634,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29859,10 +29651,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29876,10 +29668,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29890,7 +29682,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -29904,26 +29696,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -29935,8 +29744,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29952,8 +29761,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29969,8 +29778,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -29986,8 +29795,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30003,11 +29812,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -30020,8 +29829,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30037,8 +29846,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30054,8 +29863,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30071,8 +29880,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30088,8 +29897,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30105,8 +29914,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -30122,11 +29931,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -30139,24 +29948,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30170,295 +29962,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30469,7 +29976,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30486,7 +29993,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30497,7 +30004,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -30514,7 +30021,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30531,7 +30038,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30542,7 +30049,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30553,7 +30060,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30564,7 +30071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30575,7 +30082,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30586,7 +30093,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30603,7 +30110,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30620,7 +30127,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30637,7 +30144,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -30654,7 +30161,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30665,7 +30172,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30676,7 +30183,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30693,7 +30200,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30704,7 +30211,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30715,7 +30222,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30726,7 +30233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30737,7 +30244,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30754,7 +30261,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30765,7 +30272,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30776,7 +30283,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30793,7 +30300,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30804,7 +30311,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30821,7 +30328,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30838,7 +30345,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30855,7 +30362,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -30874,7 +30381,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30908,7 +30415,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -30942,7 +30449,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31144,12 +30651,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -31161,23 +30668,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -31295,7 +30785,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -31367,7 +30857,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -31386,7 +30876,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -31405,7 +30895,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -31712,7 +31202,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31740,7 +31230,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -31959,7 +31449,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31970,7 +31460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -31981,7 +31471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32009,7 +31499,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32048,7 +31538,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32093,7 +31583,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32104,7 +31594,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32115,7 +31605,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32126,7 +31616,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32233,7 +31723,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32267,7 +31757,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32295,7 +31785,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32312,7 +31802,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32329,7 +31819,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32346,7 +31836,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32363,7 +31853,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32380,7 +31870,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32402,7 +31892,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32419,7 +31909,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32436,8 +31926,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -32453,8 +31943,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -32470,41 +31960,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32518,10 +31974,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -32535,11 +31991,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -32555,7 +32045,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -32569,10 +32059,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32583,7 +32276,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32600,7 +32293,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32611,7 +32304,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32628,7 +32321,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32645,7 +32338,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32662,7 +32355,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32679,7 +32372,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32696,7 +32389,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -32707,7 +32400,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32718,7 +32411,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32735,7 +32428,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32752,7 +32445,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32769,7 +32462,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32786,7 +32479,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32803,7 +32496,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32820,7 +32513,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32837,23 +32530,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -32865,57 +32569,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -32929,27 +32583,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32963,10 +32704,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32977,7 +32718,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -32991,10 +32732,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33005,7 +32746,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33016,7 +32757,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33030,11 +32771,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33050,24 +32808,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -33081,10 +32822,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33098,10 +32839,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33115,10 +32856,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33129,7 +32870,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33143,26 +32884,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -33174,8 +32932,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33191,8 +32949,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33208,8 +32966,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33225,8 +32983,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33242,11 +33000,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -33259,8 +33017,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33276,8 +33034,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33293,8 +33051,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33310,8 +33068,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33327,8 +33085,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33344,8 +33102,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -33361,11 +33119,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -33378,24 +33136,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33409,295 +33150,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33708,7 +33164,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33725,7 +33181,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33736,7 +33192,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -33753,7 +33209,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -33770,7 +33226,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33781,7 +33237,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33792,7 +33248,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33803,7 +33259,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33814,7 +33270,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33825,7 +33281,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33842,7 +33298,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33859,7 +33315,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33876,7 +33332,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -33893,7 +33349,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33904,7 +33360,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33915,7 +33371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33932,7 +33388,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33943,7 +33399,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33954,7 +33410,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33965,7 +33421,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33976,7 +33432,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -33993,7 +33449,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34004,7 +33460,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34015,7 +33471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34032,7 +33488,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34043,7 +33499,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34060,7 +33516,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34077,7 +33533,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34094,7 +33550,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -34113,7 +33569,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34147,7 +33603,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34181,7 +33637,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34383,12 +33839,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -34400,23 +33856,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -34534,7 +33973,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -34606,7 +34045,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -34625,7 +34064,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -34644,7 +34083,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -34951,7 +34390,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -34979,7 +34418,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35198,7 +34637,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35209,7 +34648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35220,7 +34659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35248,7 +34687,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35287,7 +34726,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35332,7 +34771,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35343,7 +34782,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35354,7 +34793,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35365,7 +34804,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35472,7 +34911,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35506,7 +34945,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35534,7 +34973,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35551,7 +34990,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35568,7 +35007,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35585,7 +35024,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35602,7 +35041,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35619,7 +35058,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -35641,7 +35080,7 @@
           "phv_number": 0,
           "records": [
             {
-              "position_offset": 72,
+              "position_offset": 86,
               "field_name": "gtpu_ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35658,7 +35097,7 @@
           "phv_number": 1,
           "records": [
             {
-              "position_offset": 132,
+              "position_offset": 150,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35675,8 +35114,8 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 153,
-              "field_name": "spgw.s1u_enb_addr",
+              "position_offset": 74,
+              "field_name": "gtpu_ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -35692,8 +35131,8 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 60,
-              "field_name": "gtpu_ipv4.dst_addr",
+              "position_offset": 138,
+              "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -35709,41 +35148,7 @@
           "phv_number": 4,
           "records": [
             {
-              "position_offset": 120,
-              "field_name": "ipv4.dst_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 5,
-          "records": [
-            {
-              "position_offset": 157,
-              "field_name": "spgw.s1u_sgw_addr",
-              "field_msb": 31,
-              "field_lsb": 0,
-              "field_width": 4,
-              "phv_msb": 31,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 32
-        },
-        {
-          "phv_number": 6,
-          "records": [
-            {
-              "position_offset": 15,
+              "position_offset": 21,
               "field_name": "ethernet.dst_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35757,10 +35162,10 @@
           "word_bit_width": 32
         },
         {
-          "phv_number": 7,
+          "phv_number": 5,
           "records": [
             {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 47,
               "field_lsb": 16,
@@ -35774,11 +35179,45 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 6,
+          "records": [
+            {
+              "position_offset": 176,
+              "field_name": "spgw.teid",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 7,
+          "records": [
+            {
+              "position_offset": 168,
+              "field_name": "spgw.s1u_enb_addr",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 31,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 8,
           "records": [
             {
-              "position_offset": 161,
-              "field_name": "spgw.teid",
+              "position_offset": 172,
+              "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
               "field_width": 4,
@@ -35794,7 +35233,7 @@
           "phv_number": 9,
           "records": [
             {
-              "position_offset": 35,
+              "position_offset": 43,
               "field_name": "fabric_metadata.next_id",
               "field_msb": 31,
               "field_lsb": 0,
@@ -35808,10 +35247,213 @@
           "word_bit_width": 32
         },
         {
+          "phv_number": 10,
+          "records": [
+            {
+              "position_offset": 37,
+              "field_name": "fabric_metadata.l4_dst_port",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 133,
+                  "header_name": "ipv4",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 11,
+          "records": [
+            {
+              "position_offset": 47,
+              "field_name": "fabric_metadata.original_ether_type",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 16,
+              "phv_lsb": 16,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 16,
+                  "position_offset": 208,
+                  "header_name": "udp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
+          "phv_number": 12,
+          "records": [
+            {
+              "position_offset": 0,
+              "field_name": "$always_deparse",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 4,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 5,
+                  "header_name": "arp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 17,
+                  "header_name": "ethernet",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 52,
+                  "header_name": "gtpu",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 4,
+                  "position_offset": 69,
+                  "header_name": "gtpu_ipv4",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 5,
+                  "position_offset": 94,
+                  "header_name": "gtpu_udp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 31,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 6,
+              "phv_lsb": 6,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 6,
+                  "position_offset": 107,
+                  "header_name": "icmp",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 32
+        },
+        {
           "phv_number": 64,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 93,
               "field_name": "gtpu_ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35822,7 +35464,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 70,
+              "position_offset": 84,
               "field_name": "gtpu_ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35839,7 +35481,7 @@
           "phv_number": 65,
           "records": [
             {
-              "position_offset": 139,
+              "position_offset": 157,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35850,7 +35492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 130,
+              "position_offset": 148,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35867,7 +35509,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 96,
+              "position_offset": 114,
               "field_name": "icmp.icmp_type",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35884,7 +35526,7 @@
           "phv_number": 67,
           "records": [
             {
-              "position_offset": 59,
+              "position_offset": 73,
               "field_name": "gtpu_ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35901,7 +35543,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 119,
+              "position_offset": 137,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35918,7 +35560,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 113,
               "field_name": "icmp.icmp_code",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35935,7 +35577,7 @@
           "phv_number": 70,
           "records": [
             {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -35946,7 +35588,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 145,
+              "position_offset": 162,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35957,7 +35599,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 142,
+              "position_offset": 159,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35974,7 +35616,7 @@
           "phv_number": 71,
           "records": [
             {
-              "position_offset": 78,
+              "position_offset": 92,
               "field_name": "gtpu_ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -35991,7 +35633,7 @@
           "phv_number": 72,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 156,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36008,7 +35650,7 @@
           "phv_number": 73,
           "records": [
             {
-              "position_offset": 2,
+              "position_offset": 4,
               "field_name": "$bridged_metadata_indicator",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36025,7 +35667,7 @@
           "phv_number": 74,
           "records": [
             {
-              "position_offset": 71,
+              "position_offset": 85,
               "field_name": "gtpu_ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36042,7 +35684,7 @@
           "phv_number": 75,
           "records": [
             {
-              "position_offset": 131,
+              "position_offset": 149,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36059,7 +35701,7 @@
           "phv_number": 76,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 163,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36076,23 +35718,34 @@
           "phv_number": 77,
           "records": [
             {
-              "position_offset": 29,
+              "position_offset": 35,
               "field_name": "fabric_metadata.fwd_type",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 1,
+              "phv_msb": 4,
+              "phv_lsb": 2,
               "is_compiler_generated": false,
               "is_pov": false
             },
             {
-              "position_offset": 152,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 106,
+              "field_name": "hasExited_0",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 167,
+              "field_name": "spgw.direction",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36104,57 +35757,7 @@
           "phv_number": 78,
           "records": [
             {
-              "position_offset": 41,
-              "field_name": "fabric_metadata.pop_vlan_at_egress",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 90,
-              "field_name": "hasExited_0",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 165,
-              "field_name": "spgw_ingress_hasReturned",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 151,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 79,
-          "records": [
-            {
-              "position_offset": 30,
+              "position_offset": 36,
               "field_name": "fabric_metadata.ip_proto",
               "field_msb": 7,
               "field_lsb": 0,
@@ -36168,27 +35771,114 @@
           "word_bit_width": 8
         },
         {
+          "phv_number": 79,
+          "records": [
+            {
+              "position_offset": 51,
+              "field_name": "fabric_metadata.pop_vlan_at_egress",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 4,
+              "phv_lsb": 4,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 180,
+              "field_name": "spgw_ingress_hasReturned",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 1,
+              "phv_msb": 5,
+              "phv_lsb": 5,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 0,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 0,
+                  "position_offset": 158,
+                  "header_name": "mpls",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 1,
+              "phv_lsb": 1,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 1,
+                  "position_offset": 164,
+                  "header_name": "packet_out",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 2,
+              "phv_lsb": 2,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 2,
+                  "position_offset": 181,
+                  "header_name": "tcp",
+                  "hidden": false
+                }
+              ]
+            },
+            {
+              "position_offset": 0,
+              "field_name": "POV",
+              "field_msb": 7,
+              "field_lsb": 0,
+              "field_width": 0,
+              "phv_msb": 3,
+              "phv_lsb": 3,
+              "is_compiler_generated": false,
+              "is_pov": true,
+              "pov_headers": [
+                {
+                  "bit_index": 3,
+                  "position_offset": 220,
+                  "header_name": "vlan_tag",
+                  "hidden": false
+                }
+              ]
+            }
+          ],
+          "word_bit_width": 8
+        },
+        {
           "phv_number": 128,
           "records": [
             {
-              "position_offset": 113,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 115,
+              "position_offset": 131,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36202,10 +35892,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 149,
+              "position_offset": 165,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36216,7 +35906,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 111,
+              "position_offset": 129,
               "field_name": "ig_intr_md_for_tm.drop_ctl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36230,10 +35920,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 210,
+              "position_offset": 225,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36244,7 +35934,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 206,
+              "position_offset": 221,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36255,7 +35945,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 212,
+              "position_offset": 227,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36269,11 +35959,28 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 131,
+          "records": [
+            {
+              "position_offset": 104,
+              "field_name": "gtpu_udp.src_port",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 132,
           "records": [
             {
-              "position_offset": 88,
-              "field_name": "gtpu_udp.src_port",
+              "position_offset": 218,
+              "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36289,24 +35996,7 @@
           "phv_number": 133,
           "records": [
             {
-              "position_offset": 202,
-              "field_name": "udp.src_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 134,
-          "records": [
-            {
-              "position_offset": 143,
+              "position_offset": 160,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -36320,10 +36010,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
-              "position_offset": 109,
+              "position_offset": 127,
               "field_name": "ig_intr_md.ingress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36337,10 +36027,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 33,
+              "position_offset": 41,
               "field_name": "fabric_metadata.l4_src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36354,10 +36044,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
-              "position_offset": 64,
+              "position_offset": 78,
               "field_name": "gtpu_ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36368,7 +36058,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 66,
+              "position_offset": 80,
               "field_name": "gtpu_ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36382,26 +36072,43 @@
           "word_bit_width": 16
         },
         {
+          "phv_number": 137,
+          "records": [
+            {
+              "position_offset": 142,
+              "field_name": "ipv4.flags",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 15,
+              "phv_lsb": 13,
+              "is_compiler_generated": false,
+              "is_pov": false
+            },
+            {
+              "position_offset": 144,
+              "field_name": "ipv4.frag_offset",
+              "field_msb": 15,
+              "field_lsb": 0,
+              "field_width": 2,
+              "phv_msb": 12,
+              "phv_lsb": 0,
+              "is_compiler_generated": false,
+              "is_pov": false
+            }
+          ],
+          "word_bit_width": 16
+        },
+        {
           "phv_number": 138,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "ipv4.flags",
+              "position_offset": 27,
+              "field_name": "ethernet.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
               "phv_msb": 15,
-              "phv_lsb": 13,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 126,
-              "field_name": "ipv4.frag_offset",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 12,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -36413,8 +36120,8 @@
           "phv_number": 139,
           "records": [
             {
-              "position_offset": 21,
-              "field_name": "ethernet.ether_type",
+              "position_offset": 223,
+              "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36430,8 +36137,8 @@
           "phv_number": 140,
           "records": [
             {
-              "position_offset": 208,
-              "field_name": "vlan_tag.ether_type",
+              "position_offset": 90,
+              "field_name": "gtpu_ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36447,8 +36154,8 @@
           "phv_number": 141,
           "records": [
             {
-              "position_offset": 76,
-              "field_name": "gtpu_ipv4.total_len",
+              "position_offset": 154,
+              "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36464,8 +36171,8 @@
           "phv_number": 142,
           "records": [
             {
-              "position_offset": 136,
-              "field_name": "ipv4.total_len",
+              "position_offset": 82,
+              "field_name": "gtpu_ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36481,11 +36188,11 @@
           "phv_number": 143,
           "records": [
             {
-              "position_offset": 15,
-              "field_name": "ethernet.dst_addr",
+              "position_offset": 146,
+              "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 6,
+              "field_width": 2,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36498,8 +36205,8 @@
           "phv_number": 160,
           "records": [
             {
-              "position_offset": 68,
-              "field_name": "gtpu_ipv4.identification",
+              "position_offset": 100,
+              "field_name": "gtpu_udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36515,8 +36222,8 @@
           "phv_number": 161,
           "records": [
             {
-              "position_offset": 128,
-              "field_name": "ipv4.identification",
+              "position_offset": 214,
+              "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36532,8 +36239,8 @@
           "phv_number": 162,
           "records": [
             {
-              "position_offset": 84,
-              "field_name": "gtpu_udp.dst_port",
+              "position_offset": 102,
+              "field_name": "gtpu_udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36549,8 +36256,8 @@
           "phv_number": 163,
           "records": [
             {
-              "position_offset": 198,
-              "field_name": "udp.dst_port",
+              "position_offset": 216,
+              "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36566,8 +36273,8 @@
           "phv_number": 164,
           "records": [
             {
-              "position_offset": 86,
-              "field_name": "gtpu_udp.len",
+              "position_offset": 98,
+              "field_name": "gtpu_udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36583,8 +36290,8 @@
           "phv_number": 165,
           "records": [
             {
-              "position_offset": 200,
-              "field_name": "udp.len",
+              "position_offset": 212,
+              "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
               "field_width": 2,
@@ -36600,11 +36307,11 @@
           "phv_number": 166,
           "records": [
             {
-              "position_offset": 82,
-              "field_name": "gtpu_udp.checksum",
+              "position_offset": 21,
+              "field_name": "ethernet.dst_addr",
               "field_msb": 15,
               "field_lsb": 0,
-              "field_width": 2,
+              "field_width": 6,
               "phv_msb": 15,
               "phv_lsb": 0,
               "is_compiler_generated": false,
@@ -36617,24 +36324,7 @@
           "phv_number": 167,
           "records": [
             {
-              "position_offset": 196,
-              "field_name": "udp.checksum",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 168,
-          "records": [
-            {
-              "position_offset": 23,
+              "position_offset": 29,
               "field_name": "ethernet.src_addr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -36648,295 +36338,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 169,
-          "records": [
-            {
-              "position_offset": 31,
-              "field_name": "fabric_metadata.l4_dst_port",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 170,
-          "records": [
-            {
-              "position_offset": 39,
-              "field_name": "fabric_metadata.original_ether_type",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 171,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "$always_deparse",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 3,
-                  "header_name": "arp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 13,
-                  "header_name": "ethernet",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 42,
-                  "header_name": "gtpu",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 4,
-              "phv_lsb": 4,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 4,
-                  "position_offset": 57,
-                  "header_name": "gtpu_ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 5,
-              "phv_lsb": 5,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 5,
-                  "position_offset": 80,
-                  "header_name": "gtpu_udp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 6,
-              "phv_lsb": 6,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 6,
-                  "position_offset": 91,
-                  "header_name": "icmp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 7,
-              "phv_lsb": 7,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 7,
-                  "position_offset": 117,
-                  "header_name": "ipv4",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 8,
-              "phv_lsb": 8,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 8,
-                  "position_offset": 194,
-                  "header_name": "udp",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 172,
-          "records": [
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 0,
-                  "position_offset": 140,
-                  "header_name": "mpls",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 1,
-              "phv_lsb": 1,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 1,
-                  "position_offset": 147,
-                  "header_name": "packet_out",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 2,
-              "phv_lsb": 2,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 2,
-                  "position_offset": 166,
-                  "header_name": "tcp",
-                  "hidden": false
-                }
-              ]
-            },
-            {
-              "position_offset": 0,
-              "field_name": "POV",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 0,
-              "phv_msb": 3,
-              "phv_lsb": 3,
-              "is_compiler_generated": false,
-              "is_pov": true,
-              "pov_headers": [
-                {
-                  "bit_index": 3,
-                  "position_offset": 204,
-                  "header_name": "vlan_tag",
-                  "hidden": false
-                }
-              ]
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
           "phv_number": 256,
           "records": [
             {
-              "position_offset": 184,
+              "position_offset": 198,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36947,7 +36352,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36964,7 +36369,7 @@
           "phv_number": 257,
           "records": [
             {
-              "position_offset": 168,
+              "position_offset": 182,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -36975,7 +36380,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 101,
+              "position_offset": 119,
               "field_name": "icmp.timestamp",
               "field_msb": 63,
               "field_lsb": 32,
@@ -36992,7 +36397,7 @@
           "phv_number": 258,
           "records": [
             {
-              "position_offset": 52,
+              "position_offset": 64,
               "field_name": "gtpu.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37009,7 +36414,7 @@
           "phv_number": 288,
           "records": [
             {
-              "position_offset": 56,
+              "position_offset": 68,
               "field_name": "gtpu.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37020,7 +36425,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 49,
+              "position_offset": 61,
               "field_name": "gtpu.pt",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37031,7 +36436,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 51,
+              "position_offset": 63,
               "field_name": "gtpu.spare",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37042,7 +36447,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 44,
+              "position_offset": 56,
               "field_name": "gtpu.ex_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37053,7 +36458,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 50,
+              "position_offset": 62,
               "field_name": "gtpu.seq_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37064,7 +36469,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 48,
+              "position_offset": 60,
               "field_name": "gtpu.npdu_flag",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37081,7 +36486,7 @@
           "phv_number": 289,
           "records": [
             {
-              "position_offset": 47,
+              "position_offset": 59,
               "field_name": "gtpu.msgtype",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37098,7 +36503,7 @@
           "phv_number": 290,
           "records": [
             {
-              "position_offset": 5,
+              "position_offset": 9,
               "field_name": "arp.hw_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37115,7 +36520,7 @@
           "phv_number": 291,
           "records": [
             {
-              "position_offset": 10,
+              "position_offset": 14,
               "field_name": "arp.proto_addr_len",
               "field_msb": 7,
               "field_lsb": 0,
@@ -37132,7 +36537,7 @@
           "phv_number": 320,
           "records": [
             {
-              "position_offset": 6,
+              "position_offset": 10,
               "field_name": "arp.hw_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37143,7 +36548,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 188,
+              "position_offset": 202,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37154,7 +36559,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 93,
+              "position_offset": 111,
               "field_name": "icmp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37171,7 +36576,7 @@
           "phv_number": 321,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 190,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37182,7 +36587,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 182,
+              "position_offset": 196,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37193,7 +36598,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 194,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37204,7 +36609,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 188,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37215,7 +36620,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 97,
+              "position_offset": 115,
               "field_name": "icmp.identifier",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37232,7 +36637,7 @@
           "phv_number": 322,
           "records": [
             {
-              "position_offset": 11,
+              "position_offset": 15,
               "field_name": "arp.proto_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37243,7 +36648,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 190,
+              "position_offset": 204,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37254,7 +36659,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 99,
+              "position_offset": 117,
               "field_name": "icmp.sequence_number",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37271,7 +36676,7 @@
           "phv_number": 323,
           "records": [
             {
-              "position_offset": 8,
+              "position_offset": 12,
               "field_name": "arp.opcode",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37282,7 +36687,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 192,
+              "position_offset": 206,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37299,7 +36704,7 @@
           "phv_number": 324,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 192,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37316,7 +36721,7 @@
           "phv_number": 325,
           "records": [
             {
-              "position_offset": 172,
+              "position_offset": 186,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37333,7 +36738,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 45,
+              "position_offset": 57,
               "field_name": "gtpu.msglen",
               "field_msb": 15,
               "field_lsb": 0,
@@ -37352,7 +36757,7 @@
           "phv_number": 16,
           "records": [
             {
-              "position_offset": 133,
+              "position_offset": 132,
               "field_name": "spgw.teid",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37386,7 +36791,7 @@
           "phv_number": 18,
           "records": [
             {
-              "position_offset": 129,
+              "position_offset": 128,
               "field_name": "spgw.s1u_sgw_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37420,7 +36825,7 @@
           "phv_number": 20,
           "records": [
             {
-              "position_offset": 125,
+              "position_offset": 124,
               "field_name": "spgw.s1u_enb_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -37622,12 +37027,12 @@
           "phv_number": 86,
           "records": [
             {
-              "position_offset": 124,
-              "field_name": "spgw.do_spgw",
+              "position_offset": 123,
+              "field_name": "spgw.direction",
               "field_msb": 7,
               "field_lsb": 0,
               "field_width": 1,
-              "phv_msb": 0,
+              "phv_msb": 1,
               "phv_lsb": 0,
               "is_compiler_generated": false,
               "is_pov": false
@@ -37639,23 +37044,6 @@
           "phv_number": 87,
           "records": [
             {
-              "position_offset": 123,
-              "field_name": "spgw.direction",
-              "field_msb": 7,
-              "field_lsb": 0,
-              "field_width": 1,
-              "phv_msb": 0,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 8
-        },
-        {
-          "phv_number": 88,
-          "records": [
-            {
               "position_offset": 0,
               "field_name": "POV",
               "field_msb": 7,
@@ -37773,7 +37161,7 @@
           "word_bit_width": 8
         },
         {
-          "phv_number": 89,
+          "phv_number": 88,
           "records": [
             {
               "position_offset": 0,
@@ -37845,7 +37233,7 @@
               "pov_headers": [
                 {
                   "bit_index": 3,
-                  "position_offset": 137,
+                  "position_offset": 136,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -37864,7 +37252,7 @@
               "pov_headers": [
                 {
                   "bit_index": 4,
-                  "position_offset": 164,
+                  "position_offset": 163,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -37883,7 +37271,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 173,
+                  "position_offset": 172,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -38190,7 +37578,7 @@
           "phv_number": 264,
           "records": [
             {
-              "position_offset": 154,
+              "position_offset": 153,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -38218,7 +37606,7 @@
           "phv_number": 265,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 137,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -38437,7 +37825,7 @@
           "phv_number": 326,
           "records": [
             {
-              "position_offset": 178,
+              "position_offset": 177,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38448,7 +37836,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 174,
+              "position_offset": 173,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38459,7 +37847,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 180,
+              "position_offset": 179,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38487,7 +37875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 158,
+              "position_offset": 157,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38526,7 +37914,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 171,
+              "position_offset": 170,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38571,7 +37959,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 146,
+              "position_offset": 145,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38582,7 +37970,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 152,
+              "position_offset": 151,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38593,7 +37981,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 150,
+              "position_offset": 149,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38604,7 +37992,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 144,
+              "position_offset": 143,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38711,7 +38099,7 @@
           "phv_number": 335,
           "records": [
             {
-              "position_offset": 176,
+              "position_offset": 175,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38745,7 +38133,7 @@
           "phv_number": 337,
           "records": [
             {
-              "position_offset": 148,
+              "position_offset": 147,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38773,7 +38161,7 @@
           "phv_number": 344,
           "records": [
             {
-              "position_offset": 162,
+              "position_offset": 161,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38790,7 +38178,7 @@
           "phv_number": 345,
           "records": [
             {
-              "position_offset": 142,
+              "position_offset": 141,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38807,7 +38195,7 @@
           "phv_number": 346,
           "records": [
             {
-              "position_offset": 160,
+              "position_offset": 159,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38824,7 +38212,7 @@
           "phv_number": 347,
           "records": [
             {
-              "position_offset": 167,
+              "position_offset": 166,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38841,7 +38229,7 @@
           "phv_number": 348,
           "records": [
             {
-              "position_offset": 169,
+              "position_offset": 168,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38858,7 +38246,7 @@
           "phv_number": 349,
           "records": [
             {
-              "position_offset": 165,
+              "position_offset": 164,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -38944,7 +38332,7 @@
               "dest": { "type": "phv", "name": "hasExited_0" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -39501,10 +38889,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B24" },
+              "dest": { "type": "phv", "name": "B23" },
               "src": [
                 { "type": "immediate", "name": "$data0" },
-                { "type": "phv", "name": "B24" }
+                { "type": "phv", "name": "B23" }
               ]
             }
           ]
@@ -39586,7 +38974,7 @@
               "dest": { "type": "phv", "name": "packet_in.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B25" }
+                { "type": "phv", "name": "B24" }
               ]
             },
             {
@@ -39681,8 +39069,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H2" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H1" },
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -39690,7 +39078,7 @@
               "dest": { "type": "phv", "name": "hasExited_0" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -40244,10 +39632,10 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B24" },
+              "dest": { "type": "phv", "name": "B23" },
               "src": [
                 { "type": "action_param", "name": "$data1" },
-                { "type": "phv", "name": "B24" }
+                { "type": "phv", "name": "B23" }
               ]
             },
             {
@@ -40630,10 +40018,10 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B24" },
+              "dest": { "type": "phv", "name": "B23" },
               "src": [
                 { "type": "action_param", "name": "$data1" },
-                { "type": "phv", "name": "B24" }
+                { "type": "phv", "name": "B23" }
               ]
             },
             {
@@ -40671,14 +40059,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 2 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
-                "action_name": "act_4",
+                "action_name": "act_5",
                 "action_handle": 536870919,
                 "table_name": "filtering_ingress_port_vlan",
                 "next_table": 0,
-                "next_table_full": 98,
+                "next_table_full": 97,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -40692,7 +40080,7 @@
       },
       "actions": [
         {
-          "name": "act_4",
+          "name": "act_5",
           "handle": 536870919,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -40714,12 +40102,12 @@
               "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.do_spgw" },
+              "dest": { "type": "phv", "name": "spgw.direction" },
               "src": [
                 { "type": "immmediate", "name": "0" },
                 { "type": "phv", "name": "B13" }
@@ -40745,54 +40133,945 @@
     {
       "direction": "ingress",
       "handle": 16777223,
-      "name": "tbl_act_2",
+      "name": "spgw_ingress.s1u_filter_table",
       "table_type": "match",
-      "size": 1,
-      "preferred_match_type": "exact",
+      "size": 3072,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
+      "default_action_handle": 536870920,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4.dst_addr",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false,
+          "instance_name": "ipv4",
+          "field_name": "dst_addr"
+        }
+      ],
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 2,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
+            "size": 3072,
+            "stage_table_type": "hash_match",
             "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
-            "pack_format": [
+            "has_attached_gateway": false,
+            "hash_functions": [
               {
-                "table_word_width": 0,
-                "memory_word_width": 0,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0
+                "hash_bits": [
+                  {
+                    "hash_bit": 0,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 1,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 2,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 3,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 4,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 5,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 6,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 7,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 8,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 9,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 10,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 11,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 12,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 13,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 14,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 15,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 16,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 17,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 18,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 19,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 20,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 21,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 22,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 23,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 24,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 23, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 26,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 22, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 27,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 14, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 24, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 28,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 11, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 12, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 13, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 16, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 17, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 18, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                    ]
+                  },
+                  {
+                    "hash_bit": 29,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 15, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 19, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 20, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 21, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 25, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 28, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                    ]
+                  }
+                ]
               }
             ],
-            "result_physical_buses": [ 1 ],
             "action_format": [
               {
-                "action_name": "act_2",
+                "action_name": "NoAction",
                 "action_handle": 536870920,
                 "table_name": "spgw_ingress_ue_filter_table",
                 "next_table": 0,
                 "next_table_full": 34,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
                 "immediate_fields": []
               }
             ],
-            "hash_functions": []
+            "result_physical_buses": [ 14 ],
+            "pack_format": [
+              {
+                "memory_word_width": 128,
+                "table_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1
+              }
+            ],
+            "memory_resource_allocation": null,
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 18,
+                            "start_bit": 10,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 0,
+                            "start_bit": 16,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 8,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 16,
+                            "field_name": "--padding_16_17--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 88,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 24,
+                            "field_name": "--padding_24_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 18,
+                            "start_bit": 10,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 0,
+                            "start_bit": 16,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 8,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 16,
+                            "field_name": "--padding_16_17--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 88,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 24,
+                            "field_name": "--padding_24_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
+                }
+              },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "version",
+                            "match_mode": "s1q0"
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 18,
+                            "start_bit": 10,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 0,
+                            "start_bit": 16,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "field_name": "ipv4.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 8,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 16,
+                            "field_name": "--padding_16_17--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 88,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 24,
+                            "field_name": "--padding_24_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
+                            "match_mode": "unused"
+                          }
+                        ]
+                      }
+                    ]
+                  }
+                ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 20,
+                  "hash_entry_bit_hi": 29,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                }
+              }
+            ]
           }
         ],
-        "match_type": "match_with_no_key",
+        "match_type": "exact",
         "uses_dynamic_key_masks": false
       },
       "actions": [
         {
-          "name": "act_2",
+          "name": "NoAction",
           "handle": 536870920,
           "indirect_resources": [],
           "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -40804,106 +41083,9 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.s1u_enb_addr" },
-              "src": [ { "type": "phv", "name": "W1" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.s1u_sgw_addr" },
-              "src": [ { "type": "phv", "name": "W4" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.diffserv" },
-              "src": [ { "type": "phv", "name": "B3" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.total_len" },
-              "src": [ { "type": "phv", "name": "H13" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.identification" },
-              "src": [ { "type": "phv", "name": "H32" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.ttl" },
-              "src": [ { "type": "phv", "name": "B7" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.protocol" },
-              "src": [ { "type": "phv", "name": "B10" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.src_addr" },
-              "src": [ { "type": "phv", "name": "W0" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ipv4.dst_addr" },
-              "src": [ { "type": "phv", "name": "W3" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.src_port" },
-              "src": [ { "type": "phv", "name": "H4" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.dst_port" },
-              "src": [ { "type": "phv", "name": "H34" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.len" },
-              "src": [ { "type": "phv", "name": "H36" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "udp.checksum" },
-              "src": [ { "type": "phv", "name": "H38" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "B1" },
-              "src": [ { "type": "phv", "name": "B0" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H10" },
-              "src": [ { "type": "phv", "name": "H9" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H43" },
-              "src": [
-                { "type": "phv", "name": "H43" },
-                { "type": "phv", "name": "H43" }
-              ]
-            }
-          ]
+          "primitives": []
         }
-      ],
-      "default_action_handle": 536870920,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [],
-      "performs_hash_action": false,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": []
+      ]
     },
     {
       "direction": "ingress",
@@ -40975,7 +41157,7 @@
               "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
               "spare_bank_memory_unit": 0
             },
-            "default_next_table": 0,
+            "default_next_table": 2,
             "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
               "stage_number": 2,
@@ -41802,7 +41984,7 @@
                   "action_handle": 536870921,
                   "table_name": "tbl_act_19",
                   "next_table": 0,
-                  "next_table_full": 64,
+                  "next_table_full": 49,
                   "vliw_instruction": 0,
                   "vliw_instruction_full": 64,
                   "immediate_fields": []
@@ -41862,945 +42044,54 @@
     {
       "direction": "ingress",
       "handle": 16777225,
-      "name": "spgw_ingress.s1u_filter_table",
+      "name": "tbl_act_2",
       "table_type": "match",
-      "size": 3072,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870922,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "spgw.s1u_sgw_addr",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "spgw",
-          "field_name": "s1u_sgw_addr"
-        }
-      ],
+      "size": 1,
+      "preferred_match_type": "exact",
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 3,
-            "size": 3072,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": false,
-            "hash_functions": [
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "logical_table_id": 0,
+            "has_attached_gateway": true,
+            "memory_resource_allocation": null,
+            "default_next_table": 255,
+            "pack_format": [
               {
-                "hash_bits": [
-                  {
-                    "hash_bit": 0,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 0, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 1,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 1, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 2,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 2, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 3,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 3, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 4,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 4, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 5,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 5, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 6,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 6, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 7,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 7, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 8,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 9,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 10,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 0, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 11,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 1, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 12,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 2, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 13,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 3, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 14,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 4, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 15,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 5, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 16,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 6, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 17,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 7, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 18,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 19,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 20,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 0, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 21,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 1, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 22,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 2, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 23,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 3, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 24,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 4, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 23, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 5, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 29, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 26,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 6, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 22, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 27,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 7, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 14, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 24, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 28,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 10, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 11, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 12, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 13, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 16, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 17, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 18, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  },
-                  {
-                    "hash_bit": 29,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 15, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 19, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 20, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 21, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 25, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 26, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 27, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 28, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 30, "field_name": "spgw.s1u_sgw_addr" },
-                      { "field_bit": 31, "field_name": "spgw.s1u_sgw_addr" }
-                    ]
-                  }
-                ]
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0
               }
             ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
-                "action_name": "NoAction",
+                "action_name": "act_1",
                 "action_handle": 536870922,
-                "table_name": "tbl_act_19",
+                "table_name": "tbl_act_17",
                 "next_table": 0,
                 "next_table_full": 64,
-                "vliw_instruction": 0,
+                "vliw_instruction": 1,
                 "vliw_instruction_full": 64,
                 "immediate_fields": []
               }
             ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "ways": [
-              {
-                "stage_number": 3,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 18,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 0,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 8,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 16,
-                            "field_name": "--padding_16_17--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 88,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 24,
-                            "field_name": "--padding_24_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 18,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 0,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 8,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 16,
-                            "field_name": "--padding_16_17--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 88,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 24,
-                            "field_name": "--padding_24_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 3,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 18,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 0,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "spgw.s1u_sgw_addr",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 8,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 2,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 16,
-                            "field_name": "--padding_16_17--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 88,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 24,
-                            "field_name": "--padding_24_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 20,
-                  "hash_entry_bit_hi": 29,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
-                }
-              }
-            ]
+            "hash_functions": []
           }
         ],
-        "match_type": "exact",
+        "match_type": "match_with_no_key",
         "uses_dynamic_key_masks": false
       },
       "actions": [
         {
-          "name": "NoAction",
+          "name": "act_1",
           "handle": 536870922,
           "indirect_resources": [],
           "allowed_as_default_action": true,
+          "disallowed_as_default_action_reason": "",
           "p4_parameters": [],
           "override_meter_addr": false,
           "override_meter_addr_pfe": false,
@@ -42812,14 +42103,36 @@
           "override_stateful_addr_pfe": false,
           "override_stateful_full_addr": 0,
           "is_action_meter_color_aware": false,
-          "primitives": []
+          "primitives": [
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
+              "src": [
+                { "type": "immmediate", "name": "1" },
+                { "type": "phv", "name": "B15" }
+              ]
+            }
+          ]
         }
-      ]
+      ],
+      "default_action_handle": 536870922,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": []
     },
     {
       "direction": "ingress",
       "handle": 16777226,
-      "name": "tbl_act_3",
+      "name": "tbl_act_4",
       "table_type": "match",
       "size": 1,
       "preferred_match_type": "exact",
@@ -42841,14 +42154,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 2 ],
             "action_format": [
               {
-                "action_name": "act_1",
+                "action_name": "act_3",
                 "action_handle": 536870923,
-                "table_name": "tbl_act_19",
+                "table_name": "cond-5",
                 "next_table": 0,
-                "next_table_full": 64,
+                "next_table_full": 65,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -42862,7 +42175,7 @@
       },
       "actions": [
         {
-          "name": "act_1",
+          "name": "act_3",
           "handle": 536870923,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -42881,18 +42194,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.do_spgw" },
-              "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B13" }
-              ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.direction" },
               "src": [
-                { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "immmediate", "name": "2" },
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -42915,7 +42220,7 @@
     {
       "direction": "ingress",
       "handle": 16777227,
-      "name": "tbl_act_4",
+      "name": "tbl_act_5",
       "table_type": "match",
       "size": 1,
       "preferred_match_type": "exact",
@@ -42925,7 +42230,7 @@
             "stage_number": 3,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 0,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -42937,16 +42242,16 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
-                "action_name": "act_3",
+                "action_name": "act_4",
                 "action_handle": 536870924,
-                "table_name": "tbl_act_19",
+                "table_name": "cond-5",
                 "next_table": 0,
-                "next_table_full": 64,
+                "next_table_full": 65,
                 "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
+                "vliw_instruction_full": 64,
                 "immediate_fields": []
               }
             ],
@@ -42958,7 +42263,7 @@
       },
       "actions": [
         {
-          "name": "act_3",
+          "name": "act_4",
           "handle": 536870924,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -42977,18 +42282,10 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.do_spgw" },
+              "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B13" }
-              ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw.direction" },
-              "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             }
           ]
@@ -43011,50 +42308,682 @@
     {
       "direction": "ingress",
       "handle": 16777228,
-      "name": "tbl_act_5",
+      "name": "tbl_act_3",
       "table_type": "match",
-      "size": 1,
-      "preferred_match_type": "exact",
+      "size": 512,
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 4,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
+            "size": 512,
+            "stage_table_type": "ternary_match",
             "logical_table_id": 0,
             "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
             "pack_format": [
               {
                 "table_word_width": 0,
-                "memory_word_width": 0,
+                "memory_word_width": 47,
                 "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
               }
             ],
-            "result_physical_buses": [ 0 ],
-            "action_format": [
-              {
-                "action_name": "act_5",
-                "action_handle": 536870925,
-                "table_name": "cond-5",
-                "next_table": 0,
-                "next_table_full": 80,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 64,
-                "immediate_fields": []
-              }
-            ],
-            "hash_functions": []
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [], "vpns": [] } ],
+              "spare_bank_memory_unit": 0
+            },
+            "default_next_table": 1,
+            "result_physical_buses": [],
+            "ternary_indirection_stage_table": {
+              "stage_number": 4,
+              "stage_table_type": "ternary_indirection",
+              "size": 512,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 16,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 15,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 127,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 14,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 119,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 13,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 104,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 111,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 12,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 103,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 11,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 95,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 10,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 87,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 9,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 72,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 79,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 8,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 71,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 63,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 55,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 40,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 47,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 39,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 31,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 23,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 8,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 15,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "action"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 6,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "immediate"
+                        },
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 7,
+                          "field_name": "--padding_7_7--"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": { "memory_type": "sram", "memory_units_and_vpns": [] },
+              "action_format": [
+                {
+                  "action_name": "act_2",
+                  "action_handle": 536870925,
+                  "table_name": "cond-5",
+                  "next_table": 0,
+                  "next_table_full": 65,
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "constant_0",
+                      "param_type": "constant",
+                      "const_value": 0,
+                      "param_shift": 0,
+                      "dest_start": 4,
+                      "dest_width": 1
+                    },
+                    {
+                      "param_name": "constant_0",
+                      "param_type": "constant",
+                      "const_value": 0,
+                      "param_shift": 0,
+                      "dest_start": 5,
+                      "dest_width": 1
+                    },
+                    {
+                      "param_name": "constant_0",
+                      "param_type": "constant",
+                      "const_value": 0,
+                      "param_shift": 0,
+                      "dest_start": 3,
+                      "dest_width": 1
+                    }
+                  ]
+                }
+              ]
+            }
           }
         ],
-        "match_type": "match_with_no_key",
-        "uses_dynamic_key_masks": false
+        "match_type": "ternary"
       },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
       "actions": [
         {
-          "name": "act_5",
+          "name": "act_2",
           "handle": 536870925,
           "indirect_resources": [],
           "allowed_as_default_action": true,
@@ -43073,10 +43002,99 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "spgw_ingress_hasReturned" },
+              "dest": { "type": "phv", "name": "spgw.direction" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
+              ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.diffserv" },
+              "src": [ { "type": "phv", "name": "B3" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.total_len" },
+              "src": [ { "type": "phv", "name": "H12" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.identification" },
+              "src": [ { "type": "phv", "name": "H14" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.ttl" },
+              "src": [ { "type": "phv", "name": "B7" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.protocol" },
+              "src": [ { "type": "phv", "name": "B10" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.src_addr" },
+              "src": [ { "type": "phv", "name": "W0" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.dst_addr" },
+              "src": [ { "type": "phv", "name": "W2" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "ipv4.$valid" },
+              "src": [
+                { "type": "phv", "name": "W12" },
+                { "type": "phv", "name": "W10" }
+              ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.src_port" },
+              "src": [ { "type": "phv", "name": "H3" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.dst_port" },
+              "src": [ { "type": "phv", "name": "H32" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.len" },
+              "src": [ { "type": "phv", "name": "H34" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.checksum" },
+              "src": [ { "type": "phv", "name": "H36" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "udp.$valid" },
+              "src": [
+                { "type": "phv", "name": "W12" },
+                { "type": "phv", "name": "W11" }
+              ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "B1" },
+              "src": [ { "type": "phv", "name": "B0" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "H9" },
+              "src": [ { "type": "phv", "name": "H8" } ]
+            },
+            {
+              "name": "ModifyFieldPrimitive",
+              "dest": { "type": "phv", "name": "W12" },
+              "src": [
+                { "type": "immediate", "name": "$data0" },
+                { "type": "phv", "name": "W12" }
               ]
             }
           ]
@@ -43088,13 +43106,7 @@
       "ap_bind_indirect_res_to_match": [],
       "is_resource_controllable": true,
       "uses_range": false,
-      "match_key_fields": [],
-      "performs_hash_action": false,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": []
+      "match_key_fields": []
     },
     {
       "direction": "ingress",
@@ -43138,7 +43150,7 @@
             "stage_number": 5,
             "size": 3072,
             "stage_table_type": "hash_match",
-            "logical_table_id": 1,
+            "logical_table_id": 0,
             "has_attached_gateway": true,
             "hash_functions": [
               {
@@ -43147,7 +43159,7 @@
                     "hash_bit": 0,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43166,7 +43178,7 @@
                     "hash_bit": 1,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 17, "field_name": "ipv4.dst_addr" },
@@ -43183,6 +43195,7 @@
                     "hash_bit": 2,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43194,14 +43207,14 @@
                       { "field_bit": 21, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 3,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
@@ -43217,14 +43230,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 4,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43232,28 +43245,28 @@
                       { "field_bit": 22, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 23, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 5,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 18, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 20, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 23, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 27, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 6,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43266,14 +43279,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 7,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
@@ -43283,14 +43296,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 8,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43303,14 +43316,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 9,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43322,15 +43335,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 10,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43349,7 +43361,7 @@
                     "hash_bit": 11,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43365,6 +43377,7 @@
                     "hash_bit": 12,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 17, "field_name": "ipv4.dst_addr" },
@@ -43375,14 +43388,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 13,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43395,14 +43408,14 @@
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 14,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43411,14 +43424,14 @@
                       { "field_bit": 21, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 15,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
@@ -43431,14 +43444,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 29, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 16,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 17, "field_name": "ipv4.dst_addr" },
@@ -43449,14 +43462,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 17,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43468,14 +43481,14 @@
                       { "field_bit": 23, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 18,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43483,14 +43496,14 @@
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 19,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43507,15 +43520,14 @@
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 20,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 0, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43531,7 +43543,7 @@
                     "hash_bit": 21,
                     "seed": 0,
                     "bits_to_xor": [
-                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
+                      { "field_bit": 1, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
@@ -43552,6 +43564,7 @@
                     "hash_bit": 22,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 2, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 18, "field_name": "ipv4.dst_addr" },
@@ -43563,14 +43576,14 @@
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 0, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 23,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 3, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43578,14 +43591,14 @@
                       { "field_bit": 19, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 1, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 24,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 4, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43598,14 +43611,14 @@
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 2, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 25,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 5, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
@@ -43618,14 +43631,14 @@
                       { "field_bit": 27, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 3, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 26,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 6, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 14, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43637,14 +43650,14 @@
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 4, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 27,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 7, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43659,14 +43672,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 28, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 30, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 5, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 30, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 28,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 10, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 15, "field_name": "ipv4.dst_addr" },
@@ -43679,14 +43692,14 @@
                       { "field_bit": 25, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 26, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 29, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 31, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 6, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 31, "field_name": "ipv4.dst_addr" }
                     ]
                   },
                   {
                     "hash_bit": 29,
                     "seed": 0,
                     "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 11, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 12, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 13, "field_name": "ipv4.dst_addr" },
@@ -43694,8 +43707,7 @@
                       { "field_bit": 16, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 22, "field_name": "ipv4.dst_addr" },
                       { "field_bit": 24, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 26, "field_name": "ipv4.dst_addr" },
-                      { "field_bit": 7, "field_name": "ipv4.dst_addr" }
+                      { "field_bit": 26, "field_name": "ipv4.dst_addr" }
                     ]
                   }
                 ]
@@ -43707,7 +43719,7 @@
                 "action_handle": 536870927,
                 "table_name": "tbl_spgw_ingress_drop_now_0",
                 "next_table": 0,
-                "next_table_full": 82,
+                "next_table_full": 81,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -43717,12 +43729,12 @@
                 "action_handle": 536870926,
                 "table_name": "tbl_spgw_ingress_drop_now_0",
                 "next_table": 1,
-                "next_table_full": 82,
+                "next_table_full": 81,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 64,
                 "immediate_fields": [
                   {
-                    "param_name": "s1u_enb_addr",
+                    "param_name": "teid",
                     "param_type": "parameter",
                     "param_shift": 0,
                     "dest_start": 0,
@@ -44167,12 +44179,12 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.teid" },
-              "src": [ { "type": "action_param", "name": "teid" } ]
+              "src": [ { "type": "immediate", "name": "teid" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.s1u_enb_addr" },
-              "src": [ { "type": "immediate", "name": "s1u_enb_addr" } ]
+              "src": [ { "type": "action_param", "name": "s1u_enb_addr" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -44194,7 +44206,7 @@
           "stage_number": 5,
           "size": 4096,
           "stage_table_type": "action_data",
-          "logical_table_id": 1,
+          "logical_table_id": 0,
           "pack_format": [
             {
               "memory_word_width": 128,
@@ -44249,7 +44261,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 64,
-                      "field_name": "s1u_sgw_addr"
+                      "field_name": "s1u_enb_addr"
                     },
                     {
                       "start_bit": 0,
@@ -44258,7 +44270,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 96,
-                      "field_name": "teid"
+                      "field_name": "s1u_sgw_addr"
                     }
                   ]
                 },
@@ -44272,7 +44284,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 0,
-                      "field_name": "s1u_sgw_addr"
+                      "field_name": "s1u_enb_addr"
                     },
                     {
                       "start_bit": 0,
@@ -44281,7 +44293,7 @@
                       "msb_mem_word_idx": 0,
                       "source": "spec",
                       "lsb_mem_word_offset": 32,
-                      "field_name": "teid"
+                      "field_name": "s1u_sgw_addr"
                     }
                   ]
                 }
@@ -44352,12 +44364,12 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.teid" },
-              "src": [ { "type": "action_param", "name": "teid" } ]
+              "src": [ { "type": "immediate", "name": "teid" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "spgw.s1u_enb_addr" },
-              "src": [ { "type": "immediate", "name": "s1u_enb_addr" } ]
+              "src": [ { "type": "action_param", "name": "s1u_enb_addr" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -44382,7 +44394,7 @@
             "stage_number": 5,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 2,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -44394,7 +44406,7 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "spgw_ingress.drop_now",
@@ -44437,7 +44449,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             },
             {
@@ -44445,7 +44457,7 @@
               "dest": { "type": "phv", "name": "hasExited_0" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B13" }
               ]
             }
           ]
@@ -45050,7 +45062,7 @@
               {
                 "action_name": "spgw_ingress.update_ue_cdr",
                 "action_handle": 536870929,
-                "table_name": "tbl_spgw_ingress_gtpu_decap_0",
+                "table_name": "filtering_ingress_port_vlan",
                 "next_table": 0,
                 "next_table_full": 97,
                 "vliw_instruction": 0,
@@ -45060,7 +45072,7 @@
               {
                 "action_name": "NoAction",
                 "action_handle": 536870930,
-                "table_name": "tbl_spgw_ingress_gtpu_decap_0",
+                "table_name": "filtering_ingress_port_vlan",
                 "next_table": 0,
                 "next_table_full": 97,
                 "vliw_instruction": 0,
@@ -45499,720 +45511,6 @@
     {
       "direction": "ingress",
       "handle": 16777232,
-      "name": "tbl_spgw_ingress_gtpu_decap",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 6,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 1,
-            "has_attached_gateway": true,
-            "pack_format": [
-              {
-                "table_word_width": 0,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [], "vpns": [] } ],
-              "spare_bank_memory_unit": 0
-            },
-            "default_next_table": 2,
-            "result_physical_buses": [],
-            "ternary_indirection_stage_table": {
-              "stage_number": 6,
-              "stage_table_type": "ternary_indirection",
-              "size": 512,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 16,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 15,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 120,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 121,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 127,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 14,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 112,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 113,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 119,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 13,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 104,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 105,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 111,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 12,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 96,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 97,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 103,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 11,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 88,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 89,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 95,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 10,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 80,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 81,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 87,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 9,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 72,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 73,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 79,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 8,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 65,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 71,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 7,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 56,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 57,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 63,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 6,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 48,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 49,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 55,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 5,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 40,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 41,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 47,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 4,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 32,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 33,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 39,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 3,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 24,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 25,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 31,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 2,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 16,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 17,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 23,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 8,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 9,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 15,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 6,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 1,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 1,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 7,
-                          "field_name": "--padding_7_7--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": { "memory_type": "sram", "memory_units_and_vpns": [] },
-              "action_format": [
-                {
-                  "action_name": "spgw_ingress.gtpu_decap",
-                  "action_handle": 536870931,
-                  "table_name": "filtering_ingress_port_vlan",
-                  "next_table": 0,
-                  "next_table_full": 98,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 65,
-                  "immediate_fields": [
-                    {
-                      "param_name": "constant_0",
-                      "param_type": "constant",
-                      "const_value": 0,
-                      "param_shift": 0,
-                      "dest_start": 4,
-                      "dest_width": 1
-                    },
-                    {
-                      "param_name": "constant_0",
-                      "param_type": "constant",
-                      "const_value": 0,
-                      "param_shift": 0,
-                      "dest_start": 5,
-                      "dest_width": 1
-                    },
-                    {
-                      "param_name": "constant_0",
-                      "param_type": "constant",
-                      "const_value": 0,
-                      "param_shift": 0,
-                      "dest_start": 3,
-                      "dest_width": 1
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "spgw_ingress.gtpu_decap",
-          "handle": 536870931,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H43" },
-              "src": [
-                { "type": "immediate", "name": "$data0" },
-                { "type": "phv", "name": "H43" }
-              ]
-            }
-          ]
-        }
-      ],
-      "default_action_handle": 536870931,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": []
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777233,
       "name": "filtering.ingress_port_vlan",
       "table_type": "match",
       "size": 512,
@@ -46222,7 +45520,7 @@
             "stage_number": 6,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
+            "logical_table_id": 1,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -46271,31 +45569,22 @@
                         "field_width": 9
                       },
                       {
+                        "field_name": "vlan_tag.vlan_id",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 12
+                      },
+                      {
                         "field_name": "vlan_tag",
-                        "lsb_mem_word_offset": 20,
+                        "lsb_mem_word_offset": 36,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
                         "source": "spec",
                         "start_bit": 0,
                         "field_width": 1
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
                       }
                     ]
                   }
@@ -46307,7 +45596,7 @@
               "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
               "spare_bank_memory_unit": 0
             },
-            "default_next_table": 3,
+            "default_next_table": 2,
             "result_physical_buses": [ 0 ],
             "ternary_indirection_stage_table": {
               "stage_number": 6,
@@ -46336,7 +45625,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46346,12 +45635,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 115,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     },
@@ -46371,7 +45660,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46381,12 +45670,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 83,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     },
@@ -46406,7 +45695,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46416,12 +45705,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 51,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     },
@@ -46441,7 +45730,7 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 16,
+                          "field_width": 21,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "immediate",
@@ -46451,12 +45740,12 @@
                         {
                           "start_bit": 0,
                           "enable_pfe": false,
-                          "field_width": 13,
+                          "field_width": 8,
                           "lsb_mem_word_idx": 0,
                           "msb_mem_word_idx": 0,
                           "source": "zero",
-                          "lsb_mem_word_offset": 19,
-                          "field_name": "--padding_19_31--"
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "--padding_24_31--"
                         }
                       ]
                     }
@@ -46471,24 +45760,40 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870934,
+                  "action_handle": 536870933,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 0,
                   "vliw_instruction_full": 64,
                   "immediate_fields": []
                 },
                 {
                   "action_name": "filtering.push_internal_vlan",
-                  "action_handle": 536870932,
+                  "action_handle": 536870931,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 1,
-                  "vliw_instruction_full": 66,
+                  "vliw_instruction_full": 65,
                   "immediate_fields": [
                     {
+                      "param_name": "constant_1",
+                      "param_type": "constant",
+                      "const_value": 1,
+                      "param_shift": 0,
+                      "dest_start": 19,
+                      "dest_width": 1
+                    },
+                    {
+                      "param_name": "constant_1",
+                      "param_type": "constant",
+                      "const_value": 1,
+                      "param_shift": 0,
+                      "dest_start": 20,
+                      "dest_width": 1
+                    },
+                    {
                       "param_name": "constant_0",
                       "param_type": "constant",
                       "const_value": 0,
@@ -46515,12 +45820,12 @@
                 },
                 {
                   "action_name": "filtering.set_vlan",
-                  "action_handle": 536870933,
+                  "action_handle": 536870932,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 2,
-                  "vliw_instruction_full": 68,
+                  "vliw_instruction_full": 66,
                   "immediate_fields": [
                     {
                       "param_name": "new_vlan_id",
@@ -46533,10 +45838,10 @@
                 },
                 {
                   "action_name": "filtering.drop",
-                  "action_handle": 536870935,
+                  "action_handle": 536870934,
                   "table_name": "filtering_fwd_classifier",
                   "next_table": 0,
-                  "next_table_full": 99,
+                  "next_table_full": 98,
                   "vliw_instruction": 3,
                   "vliw_instruction_full": 67,
                   "immediate_fields": []
@@ -46561,7 +45866,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870934,
+          "handle": 536870933,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46580,7 +45885,7 @@
         },
         {
           "name": "filtering.push_internal_vlan",
-          "handle": 536870932,
+          "handle": 536870931,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46605,16 +45910,8 @@
           "primitives": [
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "vlan_tag.$valid" },
-              "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
-              ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H11" } ]
+              "src": [ { "type": "phv", "name": "H10" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -46623,22 +45920,22 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
+              "dest": { "type": "phv", "name": "B15" },
               "src": [
-                { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "B14" }
+                { "type": "immediate", "name": "$data1" },
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H3" },
+              "dest": { "type": "phv", "name": "H2" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
         },
         {
           "name": "filtering.set_vlan",
-          "handle": 536870933,
+          "handle": 536870932,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46666,14 +45963,14 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
         },
         {
           "name": "filtering.drop",
-          "handle": 536870935,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -46694,13 +45991,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870934,
+      "default_action_handle": 536870933,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -46753,7 +46050,7 @@
           "stage_number": 6,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 2,
+          "logical_table_id": 1,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -46782,7 +46079,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777234,
+      "handle": 16777233,
       "name": "filtering.fwd_classifier",
       "table_type": "match",
       "size": 3072,
@@ -46797,7 +46094,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870936,
+      "default_action_handle": 536870935,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -46844,7 +46141,7 @@
             "stage_number": 6,
             "size": 3072,
             "stage_table_type": "hash_match",
-            "logical_table_id": 3,
+            "logical_table_id": 2,
             "has_attached_gateway": false,
             "hash_functions": [
               {
@@ -46870,13 +46167,8 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46884,11 +46176,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46896,10 +46192,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -46945,12 +46248,10 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -46960,15 +46261,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -46980,10 +46281,18 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
                       }
@@ -47006,20 +46315,8 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47027,18 +46324,33 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47079,18 +46391,24 @@
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47098,17 +46416,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47154,20 +46472,8 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 2,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47179,6 +46485,10 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47187,17 +46497,22 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47229,21 +46544,24 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47251,9 +46569,12 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47286,16 +46607,12 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47303,7 +46620,7 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47314,14 +46631,12 @@
                         "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47351,21 +46666,20 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 4,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47373,6 +46687,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47414,18 +46735,24 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47437,21 +46764,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47493,27 +46814,36 @@
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 12,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47548,41 +46878,15 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47599,6 +46903,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47638,17 +46953,20 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
                       {
                         "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47656,18 +46974,6 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47675,6 +46981,12 @@
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47712,26 +47024,26 @@
                       { "field_bit": 39, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 11,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47760,18 +47072,23 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -47784,11 +47101,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47796,6 +47113,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47836,19 +47160,12 @@
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 4,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47856,21 +47173,22 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 13,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
                         "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -47902,13 +47220,6 @@
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -47918,10 +47229,20 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 9,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -47965,28 +47286,20 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 12,
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -47994,6 +47307,14 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -48041,34 +47362,32 @@
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 1,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 12,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48079,6 +47398,11 @@
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48125,21 +47449,8 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 7,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48147,9 +47458,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 10,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 13,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48196,19 +47517,16 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 6,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 8,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48216,13 +47534,13 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48260,22 +47578,24 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 4,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48283,13 +47603,14 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 14,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48334,12 +47655,8 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 41, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 4,
+                        "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48351,10 +47668,6 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
@@ -48363,13 +47676,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 3,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48412,19 +47727,16 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 0,
+                        "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 1,
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48432,11 +47744,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 5,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 6,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 9,
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48444,17 +47764,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48492,15 +47810,6 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 1,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -48510,7 +47819,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 6,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48518,21 +47839,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48588,18 +47903,6 @@
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 43, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
                       {
                         "field_bit": 2,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -48613,7 +47916,15 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 7,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 8,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 9,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48621,13 +47932,17 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 13,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 15,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48661,26 +47976,12 @@
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 9,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48688,17 +47989,19 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48732,13 +48035,16 @@
                       { "field_bit": 40, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 0,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 2,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48746,18 +48052,24 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
                         "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -48796,12 +48108,6 @@
                       { "field_bit": 37, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
@@ -48815,11 +48121,11 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 5,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48831,14 +48137,29 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 9,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
                         "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 12,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
+                        "field_bit": 14,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      {
+                        "field_bit": 15,
+                        "field_name": "fabric_metadata.original_ether_type"
+                      },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      {
                         "field_bit": 1,
                         "field_name": "ig_intr_md.ingress_port"
                       },
@@ -48878,19 +48199,12 @@
                       { "field_bit": 44, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 45, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 47, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 3,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
-                      {
-                        "field_bit": 6,
+                        "field_bit": 4,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
@@ -48898,17 +48212,21 @@
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 10,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 11,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 15,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 2,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48932,35 +48250,32 @@
                       { "field_bit": 39, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 42, "field_name": "ethernet.dst_addr" },
                       { "field_bit": 46, "field_name": "ethernet.dst_addr" },
-                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
                       {
-                        "field_bit": 1,
+                        "field_bit": 0,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 3,
+                        "field_bit": 8,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 4,
+                        "field_bit": 10,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 5,
+                        "field_bit": 11,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 6,
+                        "field_bit": 12,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
                       {
-                        "field_bit": 14,
+                        "field_bit": 13,
                         "field_name": "fabric_metadata.original_ether_type"
                       },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.original_ether_type"
-                      },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
                       {
                         "field_bit": 0,
                         "field_name": "ig_intr_md.ingress_port"
@@ -48985,18 +48300,18 @@
             "action_format": [
               {
                 "action_name": "filtering.set_forwarding_type",
-                "action_handle": 536870936,
+                "action_handle": 536870935,
                 "table_name": "tbl_act_23",
                 "next_table": 0,
-                "next_table_full": 100,
+                "next_table_full": 99,
                 "vliw_instruction": 0,
-                "vliw_instruction_full": 69,
+                "vliw_instruction_full": 68,
                 "immediate_fields": [
                   {
                     "param_name": "fwd_type",
                     "param_type": "parameter",
                     "param_shift": 0,
-                    "dest_start": 1,
+                    "dest_start": 2,
                     "dest_width": 3
                   }
                 ]
@@ -49031,7 +48346,7 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 4,
+                            "field_width": 5,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "immediate",
@@ -49046,7 +48361,7 @@
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "version",
-                            "lsb_mem_word_offset": 4,
+                            "lsb_mem_word_offset": 112,
                             "field_name": "version",
                             "match_mode": "s1q0"
                           },
@@ -49149,6 +48464,17 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 5,
+                            "field_name": "--padding_5_7--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
                             "field_width": 1,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -49160,12 +48486,23 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 56,
+                            "field_width": 40,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "lsb_mem_word_offset": 72,
-                            "field_name": "--padding_72_127--",
+                            "field_name": "--padding_72_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
                             "match_mode": "unused"
                           }
                         ]
@@ -49202,7 +48539,7 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 4,
+                            "field_width": 5,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "immediate",
@@ -49217,7 +48554,7 @@
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "version",
-                            "lsb_mem_word_offset": 4,
+                            "lsb_mem_word_offset": 112,
                             "field_name": "version",
                             "match_mode": "s1q0"
                           },
@@ -49320,6 +48657,17 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 5,
+                            "field_name": "--padding_5_7--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
                             "field_width": 1,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -49331,12 +48679,23 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 56,
+                            "field_width": 40,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "lsb_mem_word_offset": 72,
-                            "field_name": "--padding_72_127--",
+                            "field_name": "--padding_72_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
                             "match_mode": "unused"
                           }
                         ]
@@ -49373,7 +48732,7 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 4,
+                            "field_width": 5,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "immediate",
@@ -49388,7 +48747,7 @@
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "version",
-                            "lsb_mem_word_offset": 4,
+                            "lsb_mem_word_offset": 112,
                             "field_name": "version",
                             "match_mode": "s1q0"
                           },
@@ -49491,6 +48850,17 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
+                            "field_width": 3,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 5,
+                            "field_name": "--padding_5_7--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
                             "field_width": 1,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
@@ -49502,12 +48872,23 @@
                           {
                             "start_bit": 0,
                             "enable_pfe": false,
-                            "field_width": 56,
+                            "field_width": 40,
                             "lsb_mem_word_idx": 0,
                             "msb_mem_word_idx": 0,
                             "source": "zero",
                             "lsb_mem_word_offset": 72,
-                            "field_name": "--padding_72_127--",
+                            "field_name": "--padding_72_111--",
+                            "match_mode": "unused"
+                          },
+                          {
+                            "start_bit": 0,
+                            "enable_pfe": false,
+                            "field_width": 12,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "zero",
+                            "lsb_mem_word_offset": 116,
+                            "field_name": "--padding_116_127--",
                             "match_mode": "unused"
                           }
                         ]
@@ -49535,7 +48916,7 @@
       "actions": [
         {
           "name": "filtering.set_forwarding_type",
-          "handle": 536870936,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "p4_parameters": [
@@ -49581,7 +48962,7 @@
           "stage_number": 6,
           "size": 4096,
           "stage_table_type": "statistics",
-          "logical_table_id": 3,
+          "logical_table_id": 2,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -49611,7 +48992,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777235,
+      "handle": 16777234,
       "name": "tbl_act_9",
       "table_type": "match",
       "size": 512,
@@ -49622,7 +49003,7 @@
             "stage_number": 6,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 4,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -49638,7 +49019,7 @@
             "action_format": [
               {
                 "action_name": "act_9",
-                "action_handle": 536870937,
+                "action_handle": 536870936,
                 "table_name": "forwarding_bridging",
                 "next_table": 0,
                 "next_table_full": 112,
@@ -49656,7 +49037,7 @@
       "actions": [
         {
           "name": "act_9",
-          "handle": 536870937,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -49674,7 +49055,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870937,
+      "default_action_handle": 536870936,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -49705,7 +49086,7 @@
           "stage_number": 6,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 4,
+          "logical_table_id": 3,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -49734,7 +49115,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777236,
+      "handle": 16777235,
       "name": "forwarding.bridging",
       "table_type": "match",
       "size": 512,
@@ -49944,13 +49325,13 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 2
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14
               },
               "action_format": [
                 {
                   "action_name": "NoAction",
-                  "action_handle": 536870939,
+                  "action_handle": 536870938,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -49960,7 +49341,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870938,
+                  "action_handle": 536870937,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -49996,7 +49377,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870939,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -50015,7 +49396,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870938,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -50046,7 +49427,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870939,
+      "default_action_handle": 536870938,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -50100,12 +49481,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 6 ], "vpns": [ 0 ] },
-              { "memory_units": [ 7 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 7
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 0
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "direct",
@@ -50117,7 +49498,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777237,
+      "handle": 16777236,
       "name": "forwarding.mpls",
       "table_type": "match",
       "size": 3072,
@@ -50132,7 +49513,7 @@
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870941,
+      "default_action_handle": 536870940,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -50545,20 +49926,20 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870941,
+                "action_handle": 536870940,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 116,
+                "next_table_full": 114,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
               },
               {
                 "action_name": "forwarding.pop_mpls_and_next",
-                "action_handle": 536870940,
+                "action_handle": 536870939,
                 "table_name": "tbl_act_20",
                 "next_table": 0,
-                "next_table_full": 116,
+                "next_table_full": 114,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -50572,7 +49953,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 14 ],
+            "result_physical_buses": [ 12, 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -50943,7 +50324,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -50955,7 +50336,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870941,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "p4_parameters": [],
@@ -50973,7 +50354,7 @@
         },
         {
           "name": "forwarding.pop_mpls_and_next",
-          "handle": 536870940,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "p4_parameters": [
@@ -51000,7 +50381,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -51053,52 +50434,228 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777238,
+      "handle": 16777237,
       "name": "tbl_act_6",
       "table_type": "match",
-      "size": 1,
-      "preferred_match_type": "exact",
+      "size": 512,
       "match_attributes": {
         "stage_tables": [
           {
             "stage_number": 7,
-            "size": 1,
-            "stage_table_type": "match_with_no_key",
-            "logical_table_id": 4,
-            "has_attached_gateway": true,
-            "memory_resource_allocation": null,
-            "default_next_table": 255,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 2,
+            "has_attached_gateway": false,
             "pack_format": [
               {
                 "table_word_width": 0,
-                "memory_word_width": 0,
+                "memory_word_width": 47,
                 "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 0
+                "number_memory_units_per_table_word": 0,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1
+                      },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2
+                      }
+                    ]
+                  }
+                ]
               }
             ],
-            "result_physical_buses": [ 0 ],
-            "action_format": [
-              {
-                "action_name": "act_6",
-                "action_handle": 536870942,
-                "table_name": "forwarding_acl",
-                "next_table": 0,
-                "next_table_full": 128,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 67,
-                "immediate_fields": []
-              }
-            ],
-            "hash_functions": []
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [], "vpns": [] } ],
+              "spare_bank_memory_unit": 0
+            },
+            "default_next_table": 0,
+            "result_physical_buses": [],
+            "ternary_indirection_stage_table": {
+              "stage_number": 7,
+              "stage_table_type": "ternary_indirection",
+              "size": 512,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 8,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "enable_pfe": false,
+                          "field_width": 16,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "immediate"
+                        }
+                      ]
+                    }
+                  ]
+                }
+              ],
+              "memory_resource_allocation": { "memory_type": "sram", "memory_units_and_vpns": [] },
+              "action_format": [
+                {
+                  "action_name": "act_6",
+                  "action_handle": 536870941,
+                  "table_name": "forwarding_acl",
+                  "next_table": 0,
+                  "next_table_full": 128,
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 67,
+                  "immediate_fields": [
+                    {
+                      "param_name": "constant_2048",
+                      "param_type": "constant",
+                      "const_value": 2048,
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16
+                    }
+                  ]
+                }
+              ]
+            }
           }
         ],
-        "match_type": "match_with_no_key",
-        "uses_dynamic_key_masks": false
+        "match_type": "ternary"
       },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "meter_table_refs": [],
+      "statistics_table_refs": [],
+      "stateful_table_refs": [],
       "actions": [
         {
           "name": "act_6",
-          "handle": 536870942,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -51122,28 +50679,25 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "fabric_metadata.original_ether_type" },
-              "src": [ { "immediate": "2048" } ]
+              "src": [
+                { "type": "immediate", "name": "$constant0" },
+                { "type": "phv", "name": "W11" }
+              ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870942,
+      "default_action_handle": 536870941,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
       "is_resource_controllable": true,
       "uses_range": false,
-      "match_key_fields": [],
-      "performs_hash_action": false,
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [],
-      "stateful_table_refs": []
+      "match_key_fields": []
     },
     {
       "direction": "ingress",
-      "handle": 16777239,
+      "handle": 16777238,
       "name": "forwarding.unicast_v4",
       "table_type": "match",
       "size": 512,
@@ -51153,7 +50707,7 @@
             "stage_number": 7,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -51217,11 +50771,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 5
+              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 2
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 10 ],
+            "result_physical_buses": [ 4 ],
             "ternary_indirection_stage_table": {
               "stage_number": 7,
               "stage_table_type": "ternary_indirection",
@@ -51308,13 +50862,13 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 14
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2
               },
               "action_format": [
                 {
                   "action_name": "NoAction",
-                  "action_handle": 536870944,
+                  "action_handle": 536870943,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -51324,7 +50878,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870943,
+                  "action_handle": 536870942,
                   "table_name": "forwarding_acl",
                   "next_table": 0,
                   "next_table_full": 128,
@@ -51360,7 +50914,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870944,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -51379,7 +50933,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870943,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -51410,7 +50964,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870944,
+      "default_action_handle": 536870943,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -51441,7 +50995,7 @@
           "stage_number": 7,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 2,
+          "logical_table_id": 3,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -51470,408 +51024,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777240,
-      "name": "forwarding.multicast_v4",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 7,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "pack_format": [
-              {
-                "table_word_width": 141,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 3,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_2--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_2--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_1--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_1--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--version--",
-                        "lsb_mem_word_offset": 43,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "version",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2, 3, 4 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 4
-            },
-            "default_next_table": 0,
-            "result_physical_buses": [ 4, 6, 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 7,
-              "stage_table_type": "ternary_indirection",
-              "size": 2048,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 2,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 66,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 98,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 2,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 34,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": {
-                "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 26
-              },
-              "action_format": [
-                {
-                  "action_name": "NoAction",
-                  "action_handle": 536870946,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 128,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "immediate_fields": []
-                },
-                {
-                  "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870945,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 128,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 70,
-                  "immediate_fields": [
-                    {
-                      "param_name": "next_id",
-                      "param_type": "parameter",
-                      "param_shift": 0,
-                      "dest_start": 0,
-                      "dest_width": 32
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108872,
-          "name": "forwarding.multicast_v4_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870946,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": []
-        },
-        {
-          "name": "forwarding.set_next_id",
-          "handle": 536870945,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            {
-              "name": "next_id",
-              "start_bit": 0,
-              "position": 0,
-              "bit_width": 32
-            }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
-              "src": [ { "type": "immediate", "name": "next_id" } ]
-            }
-          ]
-        }
-      ],
-      "default_action_handle": 536870946,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "vlan_tag.vlan_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 12,
-          "bit_width_full": 12,
-          "is_valid": false,
-          "instance_name": "vlan_tag",
-          "field_name": "vlan_id"
-        },
-        {
-          "name": "ipv4.dst_addr",
-          "position": 1,
-          "match_type": "lpm",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "ipv4",
-          "field_name": "dst_addr"
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108872,
-      "name": "forwarding.multicast_v4_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 7,
-          "size": 2048,
-          "stage_table_type": "statistics",
-          "logical_table_id": 3,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
-            ],
-            "spare_bank_memory_unit": 55
-          },
-          "stats_alu_index": 2
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777241,
+      "handle": 16777239,
       "name": "forwarding.acl",
       "table_type": "match",
       "size": 256,
@@ -51975,7 +51128,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ipv4.dst_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 4,
                         "msb_mem_word_idx": 4,
@@ -52029,7 +51182,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.original_ether_type",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -52038,7 +51191,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "ipv4.dst_addr",
+                        "field_name": "fabric_metadata.l4_dst_port",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -52056,7 +51209,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 3,
                         "msb_mem_word_idx": 3,
@@ -52065,7 +51218,7 @@
                         "field_width": 4
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 41,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -52092,7 +51245,7 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "ipv4.src_addr",
+                        "field_name": "fabric_metadata.original_ether_type",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -52110,7 +51263,7 @@
                         "field_width": 16
                       },
                       {
-                        "field_name": "ethernet.src_addr",
+                        "field_name": "ipv4.dst_addr",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 2,
                         "msb_mem_word_idx": 2,
@@ -52137,25 +51290,16 @@
                         "field_width": 2
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "field_name": "ethernet.src_addr",
                         "lsb_mem_word_offset": 1,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
                         "source": "spec",
                         "start_bit": 0,
-                        "field_width": 8
+                        "field_width": 16
                       },
                       {
-                        "field_name": "fabric_metadata.l4_dst_port",
-                        "lsb_mem_word_offset": 9,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 17,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -52164,7 +51308,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.l4_src_port",
+                        "field_name": "ipv4.src_addr",
                         "lsb_mem_word_offset": 25,
                         "lsb_mem_word_idx": 1,
                         "msb_mem_word_idx": 1,
@@ -52227,7 +51371,7 @@
                         "field_width": 8
                       },
                       {
-                        "field_name": "fabric_metadata.original_ether_type",
+                        "field_name": "fabric_metadata.l4_src_port",
                         "lsb_mem_word_offset": 9,
                         "lsb_mem_word_idx": 0,
                         "msb_mem_word_idx": 0,
@@ -52366,7 +51510,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870950,
+                  "action_handle": 536870947,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52376,7 +51520,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870947,
+                  "action_handle": 536870944,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52394,7 +51538,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870948,
+                  "action_handle": 536870945,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52413,7 +51557,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870949,
+                  "action_handle": 536870946,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 144,
@@ -52433,7 +51577,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108872,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -52441,7 +51585,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870950,
+          "handle": 536870947,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52460,7 +51604,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870947,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52492,7 +51636,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870948,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52513,14 +51657,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870949,
+          "handle": 536870946,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -52541,13 +51685,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870950,
+      "default_action_handle": 536870947,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -52690,7 +51834,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108872,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -52728,7 +51872,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777242,
+      "handle": 16777240,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -52744,12 +51888,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108874,
+          "handle": 67108873,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870955,
+      "default_action_handle": 536870952,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -54465,7 +53609,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870955,
+                "action_handle": 536870952,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -54475,7 +53619,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870951,
+                "action_handle": 536870948,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 162,
@@ -54485,7 +53629,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870952,
+                "action_handle": 536870949,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 162,
@@ -54495,7 +53639,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870953,
+                "action_handle": 536870950,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 162,
@@ -54505,7 +53649,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870954,
+                "action_handle": 536870951,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 162,
@@ -54957,7 +54101,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870955,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -54975,7 +54119,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870951,
+          "handle": 536870948,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55002,14 +54146,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870952,
+          "handle": 536870949,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55042,7 +54186,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -55050,7 +54194,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55058,14 +54202,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870953,
+          "handle": 536870950,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55094,7 +54238,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55121,7 +54265,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870954,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55156,7 +54300,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55164,7 +54308,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55213,7 +54357,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108873,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -55284,7 +54428,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870955
+              "action_handle": 536870952
             },
             {
               "memory_word_width": 128,
@@ -55325,7 +54469,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870951
+              "action_handle": 536870948
             },
             {
               "memory_word_width": 128,
@@ -55384,7 +54528,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870952
+              "action_handle": 536870949
             },
             {
               "memory_word_width": 128,
@@ -55461,7 +54605,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870953
+              "action_handle": 536870950
             },
             {
               "memory_word_width": 128,
@@ -55538,7 +54682,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870954
+              "action_handle": 536870951
             }
           ],
           "memory_resource_allocation": {
@@ -55555,7 +54699,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870955,
+          "handle": 536870952,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55573,7 +54717,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870951,
+          "handle": 536870948,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55600,14 +54744,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870952,
+          "handle": 536870949,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55640,7 +54784,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -55648,7 +54792,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "B14" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55656,14 +54800,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870953,
+          "handle": 536870950,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55692,7 +54836,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55719,7 +54863,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870954,
+          "handle": 536870951,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55754,7 +54898,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -55762,7 +54906,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -55812,7 +54956,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777243,
+      "handle": 16777241,
       "name": "tbl_act_7",
       "table_type": "match",
       "size": 1,
@@ -55839,7 +54983,7 @@
             "action_format": [
               {
                 "action_name": "act_7",
-                "action_handle": 536870956,
+                "action_handle": 536870953,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 162,
@@ -55857,7 +55001,7 @@
       "actions": [
         {
           "name": "act_7",
-          "handle": 536870956,
+          "handle": 536870953,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -55885,7 +55029,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870956,
+      "default_action_handle": 536870953,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -55901,7 +55045,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777244,
+      "handle": 16777242,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -55923,14 +55067,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108875,
+          "handle": 67108874,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870960,
+      "default_action_handle": 536870957,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -57582,7 +56726,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870960,
+                "action_handle": 536870957,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57592,7 +56736,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870957,
+                "action_handle": 536870954,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57602,7 +56746,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870958,
+                "action_handle": 536870955,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -57612,7 +56756,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870959,
+                "action_handle": 536870956,
                 "table_name": "tbl_act_24",
                 "next_table": 0,
                 "next_table_full": 176,
@@ -58073,7 +57217,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870960,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58091,7 +57235,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870957,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58120,7 +57264,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58147,7 +57291,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870958,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58182,7 +57326,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58190,7 +57334,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58237,7 +57381,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870959,
+          "handle": 536870956,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58272,7 +57416,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58280,7 +57424,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58394,7 +57538,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870960
+              "action_handle": 536870957
             },
             {
               "memory_word_width": 128,
@@ -58480,7 +57624,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870957
+              "action_handle": 536870954
             },
             {
               "memory_word_width": 128,
@@ -58604,7 +57748,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870958
+              "action_handle": 536870955
             },
             {
               "memory_word_width": 128,
@@ -58728,7 +57872,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870959
+              "action_handle": 536870956
             }
           ],
           "memory_resource_allocation": {
@@ -58741,7 +57885,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870960,
+          "handle": 536870957,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58759,7 +57903,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870957,
+          "handle": 536870954,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58788,7 +57932,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58815,7 +57959,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870958,
+          "handle": 536870955,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58850,7 +57994,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58858,7 +58002,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58905,7 +58049,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870959,
+          "handle": 536870956,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -58940,7 +58084,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -58948,7 +58092,7 @@
               "dest": { "type": "phv", "name": "mpls.$valid" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             },
             {
@@ -58998,7 +58142,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108875,
+      "handle": 67108874,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -59037,7 +58181,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777245,
+      "handle": 16777243,
       "name": "tbl_act_10",
       "table_type": "match",
       "size": 1,
@@ -59060,11 +58204,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_10",
-                "action_handle": 536870961,
+                "action_handle": 536870958,
                 "table_name": "tbl_act_22",
                 "next_table": 0,
                 "next_table_full": 177,
@@ -59082,7 +58226,7 @@
       "actions": [
         {
           "name": "act_10",
-          "handle": 536870961,
+          "handle": 536870958,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -59101,20 +58245,20 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H12" } ]
+              "src": [ { "type": "phv", "name": "H11" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.$valid" },
               "src": [
                 { "type": "immmediate", "name": "0" },
-                { "type": "phv", "name": "H44" }
+                { "type": "phv", "name": "B15" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870961,
+      "default_action_handle": 536870958,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -59130,7 +58274,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777246,
+      "handle": 16777244,
       "name": "tbl_act_8",
       "table_type": "match",
       "size": 512,
@@ -59153,14 +58297,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_8",
-                "action_handle": 536870962,
-                "table_name": "next_broadcast",
+                "action_handle": 536870959,
+                "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 178,
+                "next_table_full": 255,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -59175,7 +58319,7 @@
       "actions": [
         {
           "name": "act_8",
-          "handle": 536870962,
+          "handle": 536870959,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -59193,7 +58337,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870962,
+      "default_action_handle": 536870959,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -59207,7 +58351,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108876,
+          "handle": 67108875,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -59215,7 +58359,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108876,
+      "handle": 67108875,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -59236,12 +58380,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 79
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 3
         }
       ],
       "how_referenced": "indirect",
@@ -59250,2466 +58394,6 @@
       "byte_counter_resolution": 36,
       "packet_counter_resolution": 28,
       "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777247,
-      "name": "next.broadcast",
-      "table_type": "match",
-      "size": 3072,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554437,
-          "name": "next_broadcast$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108877,
-          "name": "next.broadcast_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870964,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "fabric_metadata.next_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "next_id"
-        }
-      ],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 11,
-            "size": 3072,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "hash_bit": 0,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 1,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 2,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 3,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 4,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 5,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 6,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 7,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 8,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 9,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 10,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 11,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 12,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 13,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 14,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 15,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 16,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 17,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 18,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 19,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 20,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 21,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 22,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 23,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 24,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 26,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 27,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 28,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 29,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870964,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 65,
-                "immediate_fields": []
-              },
-              {
-                "action_name": "next.set_mcast_group",
-                "action_handle": 536870963,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
-                "immediate_fields": [
-                  {
-                    "param_name": "gid",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 16,
-                    "dest_width": 16
-                  },
-                  {
-                    "param_name": "smac",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 16
-                  }
-                ]
-              }
-            ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "ways": [
-              {
-                "stage_number": 11,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 11,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 11,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 20,
-                  "hash_entry_bit_hi": 29,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870964,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870963,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108877,
-      "name": "next.broadcast_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 11,
-          "size": 4096,
-          "stage_table_type": "statistics",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] },
-              { "memory_units": [ 80 ], "vpns": [ 2 ] }
-            ],
-            "spare_bank_memory_unit": 80
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554437,
-      "name": "next_broadcast$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 11,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870964
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "smac"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870963
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 90
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870964,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870963,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ],
-      "how_referenced": "direct"
     }
   ],
   "configuration_cache": [
@@ -61746,32 +58430,32 @@
     {
       "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
       "name": "stage_1_match_input_xbar_din_power_ctl",
-      "value": "000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000800000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000800000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+    },
+    {
+      "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_2_parity_group_mask",
+      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
-    },
-    {
-      "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
-      "name": "stage_3_parity_group_mask",
-      "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000800000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[5].dp.xbar_hash.hash.parity_group_mask",
@@ -61781,17 +58465,17 @@
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
       "name": "stage_6_match_input_xbar_din_power_ctl",
-      "value": "0000005000000000000000000000000000000000000000400000000000000000000000880000008000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001800000008000000000000000000000000000000a00000000000000000000000440000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.xbar_hash.hash.parity_group_mask",
       "name": "stage_6_parity_group_mask",
-      "value": "00000001000000000000000c00000000000000020000000000000008000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000001000000000000000c00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000005000000000000000000000000000000040000000200000000000000000000000480000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001800000000000000000000000000000040000000200000000000000000000000240000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -61801,7 +58485,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "000000d200000000000000000000000000000024000000800000000000000000000000880000008100000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000003a0000000c000000000000000000000024000000400000000000000000000000c4000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[9].dp.match_input_xbar_din_power_ctl",
@@ -61816,7 +58500,7 @@
     {
       "fully_qualified_name": "mau[10].dp.match_input_xbar_din_power_ctl",
       "name": "stage_10_match_input_xbar_din_power_ctl",
-      "value": "000000120000000200000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000a00000006000000000000000000000000000000c00000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[10].dp.xbar_hash.hash.parity_group_mask",
@@ -61826,7 +58510,7 @@
     {
       "fully_qualified_name": "mau[11].dp.match_input_xbar_din_power_ctl",
       "name": "stage_11_match_input_xbar_din_power_ctl",
-      "value": "0000000000000002000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[11].dp.xbar_hash.hash.parity_group_mask",
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/fabric.p4info b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/fabric.p4info
index cb3e8ff..b47cabe 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/fabric.p4info
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/fabric.p4info
@@ -23,7 +23,7 @@
   }
   match_fields {
     id: 1
-    name: "spgw_meta.s1u_sgw_addr"
+    name: "ipv4.dst_addr"
     bitwidth: 32
     match_type: EXACT
   }
@@ -220,34 +220,6 @@
 }
 tables {
   preamble {
-    id: 33615204
-    name: "forwarding.multicast_v4"
-    alias: "multicast_v4"
-  }
-  match_fields {
-    id: 1
-    name: "hdr.vlan_tag.vlan_id"
-    bitwidth: 12
-    match_type: EXACT
-  }
-  match_fields {
-    id: 2
-    name: "hdr.ipv4.dst_addr"
-    bitwidth: 32
-    match_type: LPM
-  }
-  action_refs {
-    id: 16829931
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 302009236
-  size: 1024
-}
-tables {
-  preamble {
     id: 33587782
     name: "forwarding.acl"
     alias: "acl"
@@ -400,28 +372,6 @@
   direct_resource_ids: 301993193
   size: 1024
 }
-tables {
-  preamble {
-    id: 33608545
-    name: "next.broadcast"
-    alias: "broadcast"
-  }
-  match_fields {
-    id: 1
-    name: "fabric_metadata.next_id"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16778974
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 301995093
-  size: 1024
-}
 actions {
   preamble {
     id: 16800567
@@ -445,13 +395,6 @@
 }
 actions {
   preamble {
-    id: 16808035
-    name: "spgw_ingress.gtpu_decap"
-    alias: "gtpu_decap"
-  }
-}
-actions {
-  preamble {
     id: 16784665
     name: "spgw_ingress.set_dl_sess_info"
     alias: "set_dl_sess_info"
@@ -613,23 +556,6 @@
 }
 actions {
   preamble {
-    id: 16778974
-    name: "next.set_mcast_group"
-    alias: "set_mcast_group"
-  }
-  params {
-    id: 1
-    name: "gid"
-    bitwidth: 16
-  }
-  params {
-    id: 2
-    name: "smac"
-    bitwidth: 48
-  }
-}
-actions {
-  preamble {
     id: 16841192
     name: "next.mpls_routing_v4"
     alias: "mpls_routing_v4"
@@ -789,17 +715,6 @@
 }
 direct_counters {
   preamble {
-    id: 302009236
-    name: "forwarding.multicast_v4_counter"
-    alias: "multicast_v4_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33615204
-}
-direct_counters {
-  preamble {
     id: 302000008
     name: "forwarding.acl_counter"
     alias: "acl_counter"
@@ -831,17 +746,6 @@
   }
   direct_table_id: 33569488
 }
-direct_counters {
-  preamble {
-    id: 301995093
-    name: "next.broadcast_counter"
-    alias: "broadcast_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33608545
-}
 controller_packet_metadata {
   preamble {
     id: 2868941301
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/tofino.bin b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/tofino.bin
index 60af33b..a2dc6aa 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/tofino.bin
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric-spgw/montana/tofino.bin
Binary files differ
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/context.json b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/context.json
index 4a7f86f..8774501 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/context.json
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "02/01/18 21:21:59",
+  "build_date": "02/04/18 01:26:08",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -46,7 +46,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -63,7 +63,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -131,7 +131,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -142,7 +142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -153,7 +153,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -187,7 +187,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -204,7 +204,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -329,7 +329,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -348,7 +348,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -367,7 +367,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -403,7 +403,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -422,7 +422,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -441,7 +441,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -455,23 +455,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -485,10 +468,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -524,10 +507,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -538,7 +521,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -549,7 +532,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -563,10 +546,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -580,7 +563,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -597,7 +580,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -614,7 +597,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -631,10 +614,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -648,7 +631,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -665,7 +648,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -682,7 +665,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -699,7 +682,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -719,7 +702,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -747,7 +730,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -786,7 +769,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -797,7 +780,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -825,7 +808,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -842,7 +825,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -870,7 +853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -881,7 +864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -892,7 +875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -903,7 +886,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -914,7 +897,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -953,7 +936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -964,7 +947,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1003,7 +986,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1014,7 +997,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1031,7 +1014,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1048,7 +1031,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1065,7 +1048,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1076,7 +1059,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1104,7 +1087,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1115,7 +1098,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1132,7 +1115,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1149,7 +1132,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2198,7 +2181,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2215,7 +2198,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2283,7 +2266,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -2294,7 +2277,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2305,7 +2288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2339,7 +2322,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2356,7 +2339,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2481,7 +2464,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -2500,7 +2483,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -2519,7 +2502,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -2555,7 +2538,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -2574,7 +2557,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -2593,7 +2576,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -2607,23 +2590,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2637,10 +2603,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2676,10 +2642,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2690,7 +2656,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2701,7 +2667,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2715,10 +2681,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -2732,7 +2698,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -2749,7 +2715,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -2766,7 +2732,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -2783,10 +2749,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2800,7 +2766,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -2817,7 +2783,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -2834,7 +2800,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -2851,7 +2817,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -2871,7 +2837,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2899,7 +2865,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2938,7 +2904,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2949,7 +2915,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2977,7 +2943,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2994,7 +2960,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3022,7 +2988,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3033,7 +2999,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3044,7 +3010,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3055,7 +3021,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3066,7 +3032,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3105,7 +3071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3116,7 +3082,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3155,7 +3121,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3166,7 +3132,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3183,7 +3149,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3200,7 +3166,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3217,7 +3183,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3228,7 +3194,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3256,7 +3222,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3267,7 +3233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3284,7 +3250,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3301,7 +3267,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4350,7 +4316,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4367,7 +4333,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4435,7 +4401,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -4446,7 +4412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4457,7 +4423,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4491,7 +4457,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4508,7 +4474,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4633,7 +4599,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -4652,7 +4618,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -4671,7 +4637,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -4707,7 +4673,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -4726,7 +4692,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -4745,7 +4711,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -4759,23 +4725,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4789,10 +4738,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4828,10 +4777,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4842,7 +4791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4853,7 +4802,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4867,10 +4816,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4884,7 +4833,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -4901,7 +4850,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -4918,7 +4867,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -4935,10 +4884,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4952,7 +4901,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -4969,7 +4918,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -4986,7 +4935,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -5003,7 +4952,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -5023,7 +4972,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5051,7 +5000,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5090,7 +5039,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5101,7 +5050,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5129,7 +5078,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5146,7 +5095,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5174,7 +5123,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5185,7 +5134,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5196,7 +5145,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5207,7 +5156,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5218,7 +5167,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5257,7 +5206,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5268,7 +5217,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5307,7 +5256,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5318,7 +5267,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5335,7 +5284,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5352,7 +5301,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5369,7 +5318,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5380,7 +5329,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5408,7 +5357,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5419,7 +5368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5436,7 +5385,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5453,7 +5402,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6502,7 +6451,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6519,7 +6468,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6587,7 +6536,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -6598,7 +6547,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6609,7 +6558,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6643,7 +6592,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6660,7 +6609,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6785,7 +6734,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -6804,7 +6753,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -6823,7 +6772,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -6859,7 +6808,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -6878,7 +6827,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -6897,7 +6846,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -6911,23 +6860,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6941,10 +6873,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6980,10 +6912,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6994,7 +6926,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7005,7 +6937,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7019,10 +6951,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -7036,7 +6968,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -7053,7 +6985,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -7070,7 +7002,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -7087,10 +7019,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7104,7 +7036,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -7121,7 +7053,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -7138,7 +7070,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -7155,7 +7087,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -7175,7 +7107,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7203,7 +7135,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7242,7 +7174,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7253,7 +7185,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7281,7 +7213,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7298,7 +7230,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7326,7 +7258,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7337,7 +7269,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7348,7 +7280,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7359,7 +7291,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7370,7 +7302,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7409,7 +7341,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7420,7 +7352,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7459,7 +7391,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7470,7 +7402,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7487,7 +7419,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7504,7 +7436,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7521,7 +7453,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7532,7 +7464,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7560,7 +7492,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7571,7 +7503,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7588,7 +7520,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7605,7 +7537,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8654,7 +8586,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8671,7 +8603,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8739,7 +8671,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -8750,7 +8682,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8761,7 +8693,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8795,7 +8727,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8812,7 +8744,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8937,7 +8869,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -8956,7 +8888,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -8975,7 +8907,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -9011,7 +8943,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -9030,7 +8962,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -9049,7 +8981,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -9063,23 +8995,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9093,10 +9008,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9132,10 +9047,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9146,7 +9061,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9157,7 +9072,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9171,10 +9086,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9188,7 +9103,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -9205,7 +9120,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -9222,7 +9137,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -9239,10 +9154,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9256,7 +9171,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -9273,7 +9188,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -9290,7 +9205,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -9307,7 +9222,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -9327,7 +9242,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9355,7 +9270,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9394,7 +9309,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9405,7 +9320,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9433,7 +9348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9450,7 +9365,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9478,7 +9393,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9489,7 +9404,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9500,7 +9415,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9511,7 +9426,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9522,7 +9437,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9561,7 +9476,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9572,7 +9487,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9611,7 +9526,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9622,7 +9537,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9639,7 +9554,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9656,7 +9571,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9673,7 +9588,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9684,7 +9599,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9712,7 +9627,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9723,7 +9638,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9740,7 +9655,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9757,7 +9672,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10806,7 +10721,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10823,7 +10738,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10891,7 +10806,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10902,7 +10817,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10913,7 +10828,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10947,7 +10862,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10964,7 +10879,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11089,7 +11004,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -11108,7 +11023,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -11127,7 +11042,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -11163,7 +11078,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -11182,7 +11097,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -11201,7 +11116,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -11215,23 +11130,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11245,10 +11143,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11284,10 +11182,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11298,7 +11196,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11309,7 +11207,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11323,10 +11221,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -11340,7 +11238,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -11357,7 +11255,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -11374,7 +11272,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -11391,10 +11289,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11408,7 +11306,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -11425,7 +11323,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -11442,7 +11340,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -11459,7 +11357,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -11479,7 +11377,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11507,7 +11405,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11546,7 +11444,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11557,7 +11455,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11585,7 +11483,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11602,7 +11500,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11630,7 +11528,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11641,7 +11539,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11652,7 +11550,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11663,7 +11561,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11674,7 +11572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11713,7 +11611,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11724,7 +11622,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11763,7 +11661,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11774,7 +11672,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11791,7 +11689,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11808,7 +11706,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11825,7 +11723,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11836,7 +11734,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11864,7 +11762,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11875,7 +11773,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11892,7 +11790,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11909,7 +11807,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12958,7 +12856,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12975,7 +12873,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13043,7 +12941,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -13054,7 +12952,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13065,7 +12963,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13099,7 +12997,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13116,7 +13014,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13241,7 +13139,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -13260,7 +13158,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -13279,7 +13177,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -13315,7 +13213,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -13334,7 +13232,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -13353,7 +13251,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -13367,23 +13265,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13397,10 +13278,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13436,10 +13317,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13450,7 +13331,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13461,7 +13342,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13475,10 +13356,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13492,7 +13373,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -13509,7 +13390,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -13526,7 +13407,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -13543,10 +13424,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13560,7 +13441,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -13577,7 +13458,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -13594,7 +13475,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -13611,7 +13492,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -13631,7 +13512,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13659,7 +13540,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13698,7 +13579,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13709,7 +13590,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13737,7 +13618,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13754,7 +13635,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13782,7 +13663,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13793,7 +13674,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13804,7 +13685,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13815,7 +13696,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13826,7 +13707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13865,7 +13746,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13876,7 +13757,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13915,7 +13796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13926,7 +13807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13943,7 +13824,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13960,7 +13841,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13977,7 +13858,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13988,7 +13869,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14016,7 +13897,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14027,7 +13908,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14044,7 +13925,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14061,7 +13942,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15110,7 +14991,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15127,7 +15008,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15195,7 +15076,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -15206,7 +15087,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15217,7 +15098,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15251,7 +15132,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15268,7 +15149,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15393,7 +15274,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -15412,7 +15293,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -15431,7 +15312,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -15467,7 +15348,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -15486,7 +15367,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -15505,7 +15386,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -15519,23 +15400,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15549,10 +15413,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15588,10 +15452,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15602,7 +15466,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15613,7 +15477,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15627,10 +15491,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -15644,7 +15508,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -15661,7 +15525,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -15678,7 +15542,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -15695,10 +15559,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15712,7 +15576,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -15729,7 +15593,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -15746,7 +15610,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -15763,7 +15627,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -15783,7 +15647,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15811,7 +15675,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15850,7 +15714,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15861,7 +15725,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15889,7 +15753,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15906,7 +15770,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15934,7 +15798,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15945,7 +15809,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15956,7 +15820,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15967,7 +15831,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15978,7 +15842,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16017,7 +15881,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16028,7 +15892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16067,7 +15931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16078,7 +15942,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16095,7 +15959,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16112,7 +15976,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16129,7 +15993,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16140,7 +16004,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16168,7 +16032,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16179,7 +16043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16196,7 +16060,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16213,7 +16077,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17262,7 +17126,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17279,7 +17143,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17347,7 +17211,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -17358,7 +17222,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17369,7 +17233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17403,7 +17267,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17420,7 +17284,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17545,7 +17409,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -17564,7 +17428,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -17583,7 +17447,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -17619,7 +17483,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -17638,7 +17502,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -17657,7 +17521,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -17671,23 +17535,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17701,10 +17548,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17740,10 +17587,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17754,7 +17601,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17765,7 +17612,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17779,10 +17626,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -17796,7 +17643,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -17813,7 +17660,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -17830,7 +17677,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -17847,10 +17694,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17864,7 +17711,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -17881,7 +17728,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -17898,7 +17745,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -17915,7 +17762,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -17935,7 +17782,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17963,7 +17810,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -18002,7 +17849,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18013,7 +17860,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18041,7 +17888,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18058,7 +17905,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18086,7 +17933,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18097,7 +17944,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18108,7 +17955,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18119,7 +17966,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18130,7 +17977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18169,7 +18016,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18180,7 +18027,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18219,7 +18066,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18230,7 +18077,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18247,7 +18094,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18264,7 +18111,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18281,7 +18128,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18292,7 +18139,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18320,7 +18167,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18331,7 +18178,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18348,7 +18195,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18365,7 +18212,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19414,7 +19261,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19431,7 +19278,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19499,7 +19346,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19510,7 +19357,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19521,7 +19368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19555,7 +19402,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19572,7 +19419,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19697,7 +19544,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -19716,7 +19563,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -19735,7 +19582,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -19771,7 +19618,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -19790,7 +19637,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -19809,7 +19656,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -19823,23 +19670,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19853,10 +19683,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19892,10 +19722,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19906,7 +19736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19917,7 +19747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19931,10 +19761,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -19948,7 +19778,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -19965,7 +19795,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -19982,7 +19812,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -19999,10 +19829,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20016,7 +19846,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -20033,7 +19863,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -20050,7 +19880,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -20067,7 +19897,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -20087,7 +19917,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20115,7 +19945,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20154,7 +19984,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20165,7 +19995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20193,7 +20023,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20210,7 +20040,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20238,7 +20068,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20249,7 +20079,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20260,7 +20090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20271,7 +20101,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20282,7 +20112,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20321,7 +20151,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20332,7 +20162,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20371,7 +20201,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20382,7 +20212,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20399,7 +20229,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20416,7 +20246,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20433,7 +20263,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20444,7 +20274,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20472,7 +20302,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20483,7 +20313,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20500,7 +20330,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20517,7 +20347,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21566,7 +21396,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21583,7 +21413,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21651,7 +21481,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -21662,7 +21492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21673,7 +21503,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21707,7 +21537,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21724,7 +21554,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21849,7 +21679,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -21868,7 +21698,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -21887,7 +21717,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -21923,7 +21753,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -21942,7 +21772,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -21961,7 +21791,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -21975,23 +21805,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22005,10 +21818,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22044,10 +21857,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22058,7 +21871,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22069,7 +21882,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22083,10 +21896,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -22100,7 +21913,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -22117,7 +21930,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -22134,7 +21947,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -22151,10 +21964,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22168,7 +21981,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -22185,7 +21998,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -22202,7 +22015,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -22219,7 +22032,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -22239,7 +22052,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22267,7 +22080,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22306,7 +22119,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22317,7 +22130,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22345,7 +22158,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22362,7 +22175,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22390,7 +22203,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22401,7 +22214,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22412,7 +22225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22423,7 +22236,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22434,7 +22247,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22473,7 +22286,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22484,7 +22297,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22523,7 +22336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22534,7 +22347,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22551,7 +22364,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22568,7 +22381,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22585,7 +22398,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22596,7 +22409,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22624,7 +22437,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22635,7 +22448,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22652,7 +22465,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22669,7 +22482,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23718,7 +23531,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23735,7 +23548,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23803,7 +23616,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -23814,7 +23627,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23825,7 +23638,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23859,7 +23672,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23876,7 +23689,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24001,7 +23814,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -24020,7 +23833,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -24039,7 +23852,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -24075,7 +23888,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -24094,7 +23907,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -24113,7 +23926,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -24127,23 +23940,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24157,10 +23953,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24196,10 +23992,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24210,7 +24006,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24221,7 +24017,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24235,10 +24031,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -24252,7 +24048,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -24269,7 +24065,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -24286,7 +24082,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -24303,10 +24099,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24320,7 +24116,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -24337,7 +24133,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -24354,7 +24150,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -24371,7 +24167,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -24391,7 +24187,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24419,7 +24215,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24458,7 +24254,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24469,7 +24265,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24497,7 +24293,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24514,7 +24310,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24542,7 +24338,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24553,7 +24349,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24564,7 +24360,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24575,7 +24371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24586,7 +24382,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24625,7 +24421,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24636,7 +24432,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24675,7 +24471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24686,7 +24482,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24703,7 +24499,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24720,7 +24516,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24737,7 +24533,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24748,7 +24544,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24776,7 +24572,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24787,7 +24583,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24804,7 +24600,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24821,7 +24617,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26083,8 +25879,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H2" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H1" },
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -26515,7 +26311,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H7" } ]
+              "src": [ { "type": "phv", "name": "H6" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -26532,7 +26328,7 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H3" },
+              "dest": { "type": "phv", "name": "H2" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
@@ -26567,7 +26363,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -26595,7 +26391,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
@@ -29790,7 +29586,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.fwd_type" },
               "src": [
                 { "type": "immediate", "name": "fwd_type" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
@@ -30048,8 +29844,8 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 2
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14
               },
               "action_format": [
                 {
@@ -30204,12 +30000,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 6 ], "vpns": [ 0 ] },
-              { "memory_units": [ 7 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 7
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 0
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "direct",
@@ -30622,7 +30418,7 @@
                 "action_handle": 536870926,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 68,
+                "next_table_full": 66,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -30632,7 +30428,7 @@
                 "action_handle": 536870925,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 68,
+                "next_table_full": 66,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -30646,7 +30442,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 14 ],
+            "result_physical_buses": [ 12, 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -31017,7 +30813,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -31138,7 +30934,7 @@
             "stage_number": 4,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 4,
+            "logical_table_id": 2,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -31227,7 +31023,7 @@
             "stage_number": 4,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -31291,11 +31087,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 5
+              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 2
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 10 ],
+            "result_physical_buses": [ 4 ],
             "ternary_indirection_stage_table": {
               "stage_number": 4,
               "stage_table_type": "ternary_indirection",
@@ -31382,8 +31178,8 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 14
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2
               },
               "action_format": [
                 {
@@ -31515,7 +31311,7 @@
           "stage_number": 4,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 2,
+          "logical_table_id": 3,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -31545,407 +31341,6 @@
     {
       "direction": "ingress",
       "handle": 16777227,
-      "name": "forwarding.multicast_v4",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 4,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "pack_format": [
-              {
-                "table_word_width": 141,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 3,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_2--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_2--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_1--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_1--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--version--",
-                        "lsb_mem_word_offset": 43,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "version",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2, 3, 4 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 4
-            },
-            "default_next_table": 0,
-            "result_physical_buses": [ 4, 6, 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 4,
-              "stage_table_type": "ternary_indirection",
-              "size": 2048,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 2,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 66,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 98,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 2,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 34,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": {
-                "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 26
-              },
-              "action_format": [
-                {
-                  "action_name": "NoAction",
-                  "action_handle": 536870931,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 80,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "immediate_fields": []
-                },
-                {
-                  "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870930,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 80,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 70,
-                  "immediate_fields": [
-                    {
-                      "param_name": "next_id",
-                      "param_type": "parameter",
-                      "param_shift": 0,
-                      "dest_start": 0,
-                      "dest_width": 32
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108871,
-          "name": "forwarding.multicast_v4_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870931,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": []
-        },
-        {
-          "name": "forwarding.set_next_id",
-          "handle": 536870930,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            {
-              "name": "next_id",
-              "start_bit": 0,
-              "position": 0,
-              "bit_width": 32
-            }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
-              "src": [ { "type": "immediate", "name": "next_id" } ]
-            }
-          ]
-        }
-      ],
-      "default_action_handle": 536870931,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "vlan_tag.vlan_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 12,
-          "bit_width_full": 12,
-          "is_valid": false,
-          "instance_name": "vlan_tag",
-          "field_name": "vlan_id"
-        },
-        {
-          "name": "ipv4.dst_addr",
-          "position": 1,
-          "match_type": "lpm",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "ipv4",
-          "field_name": "dst_addr"
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108871,
-      "name": "forwarding.multicast_v4_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 4,
-          "size": 2048,
-          "stage_table_type": "statistics",
-          "logical_table_id": 3,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
-            ],
-            "spare_bank_memory_unit": 55
-          },
-          "stats_alu_index": 2
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777228,
       "name": "forwarding.acl",
       "table_type": "match",
       "size": 256,
@@ -32440,7 +31835,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870935,
+                  "action_handle": 536870933,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32450,7 +31845,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870932,
+                  "action_handle": 536870930,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32468,7 +31863,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870933,
+                  "action_handle": 536870931,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32487,7 +31882,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870934,
+                  "action_handle": 536870932,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32507,7 +31902,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108872,
+          "handle": 67108871,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -32515,7 +31910,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870935,
+          "handle": 536870933,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32534,7 +31929,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870932,
+          "handle": 536870930,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32566,7 +31961,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870933,
+          "handle": 536870931,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32587,14 +31982,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870934,
+          "handle": 536870932,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32615,13 +32010,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870935,
+      "default_action_handle": 536870933,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -32764,7 +32159,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108872,
+      "handle": 67108871,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -32802,7 +32197,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777229,
+      "handle": 16777228,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -32818,12 +32213,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108872,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870940,
+      "default_action_handle": 536870938,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -34335,7 +33730,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870940,
+                "action_handle": 536870938,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -34345,7 +33740,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870936,
+                "action_handle": 536870934,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 114,
@@ -34355,7 +33750,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870937,
+                "action_handle": 536870935,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 114,
@@ -34365,7 +33760,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870938,
+                "action_handle": 536870936,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 114,
@@ -34375,7 +33770,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870939,
+                "action_handle": 536870937,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 114,
@@ -34827,7 +34222,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870940,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34845,7 +34240,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870936,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34872,14 +34267,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870937,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34912,7 +34307,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -34928,14 +34323,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870938,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34964,7 +34359,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -34991,7 +34386,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870939,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35026,7 +34421,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -35083,7 +34478,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108872,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -35154,7 +34549,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870940
+              "action_handle": 536870938
             },
             {
               "memory_word_width": 128,
@@ -35195,7 +34590,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870936
+              "action_handle": 536870934
             },
             {
               "memory_word_width": 128,
@@ -35254,7 +34649,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870937
+              "action_handle": 536870935
             },
             {
               "memory_word_width": 128,
@@ -35331,7 +34726,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870938
+              "action_handle": 536870936
             },
             {
               "memory_word_width": 128,
@@ -35408,7 +34803,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870939
+              "action_handle": 536870937
             }
           ],
           "memory_resource_allocation": {
@@ -35425,7 +34820,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870940,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35443,7 +34838,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870936,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35470,14 +34865,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870937,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35510,7 +34905,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -35526,14 +34921,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870938,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35562,7 +34957,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -35589,7 +34984,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870939,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35624,7 +35019,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -35682,7 +35077,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777230,
+      "handle": 16777229,
       "name": "tbl_act_2",
       "table_type": "match",
       "size": 1,
@@ -35709,7 +35104,7 @@
             "action_format": [
               {
                 "action_name": "act_2",
-                "action_handle": 536870941,
+                "action_handle": 536870939,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -35727,7 +35122,7 @@
       "actions": [
         {
           "name": "act_2",
-          "handle": 536870941,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35755,7 +35150,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870941,
+      "default_action_handle": 536870939,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -35771,7 +35166,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777231,
+      "handle": 16777230,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -35793,14 +35188,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108874,
+          "handle": 67108873,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870945,
+      "default_action_handle": 536870943,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -37452,7 +36847,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870945,
+                "action_handle": 536870943,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37462,7 +36857,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870942,
+                "action_handle": 536870940,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37472,7 +36867,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870943,
+                "action_handle": 536870941,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37482,7 +36877,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870944,
+                "action_handle": 536870942,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37943,7 +37338,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870945,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37961,7 +37356,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870942,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37990,7 +37385,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38017,7 +37412,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870943,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38052,7 +37447,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38107,7 +37502,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870944,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38142,7 +37537,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38264,7 +37659,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870945
+              "action_handle": 536870943
             },
             {
               "memory_word_width": 128,
@@ -38350,255 +37745,255 @@
                   ]
                 }
               ],
+              "action_handle": 536870940
+            },
+            {
+              "memory_word_width": 128,
+              "table_word_width": 256,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 2,
+              "entries": [
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 3,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
+                      "lsb_mem_word_offset": 1,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "$constant1"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 4,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 4,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 9,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "port_num"
+                    },
+                    {
+                      "start_bit": 4,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 48,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 80,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 8,
+                      "field_name": "--padding_8_31--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 7,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 41,
+                      "field_name": "--padding_41_47--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 96,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 1,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "--padding_96_191--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870941
+            },
+            {
+              "memory_word_width": 128,
+              "table_word_width": 256,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 2,
+              "entries": [
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 3,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
+                      "lsb_mem_word_offset": 1,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "$constant1"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 4,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 4,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 9,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "port_num"
+                    },
+                    {
+                      "start_bit": 4,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 48,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 80,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 8,
+                      "field_name": "--padding_8_31--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 7,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 41,
+                      "field_name": "--padding_41_47--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 96,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 1,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "--padding_96_191--"
+                    }
+                  ]
+                }
+              ],
               "action_handle": 536870942
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 256,
-              "entries_per_table_word": 1,
-              "number_memory_units_per_table_word": 2,
-              "entries": [
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 3,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 4,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 4,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 9,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "port_num"
-                    },
-                    {
-                      "start_bit": 4,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 24,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 8,
-                      "field_name": "--padding_8_31--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 7,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 41,
-                      "field_name": "--padding_41_47--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 96,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 1,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_96_191--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870943
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 256,
-              "entries_per_table_word": 1,
-              "number_memory_units_per_table_word": 2,
-              "entries": [
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 3,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 4,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 4,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 9,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "port_num"
-                    },
-                    {
-                      "start_bit": 4,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 24,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 8,
-                      "field_name": "--padding_8_31--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 7,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 41,
-                      "field_name": "--padding_41_47--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 96,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 1,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_96_191--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870944
             }
           ],
           "memory_resource_allocation": {
@@ -38611,7 +38006,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870945,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38629,7 +38024,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870942,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38658,7 +38053,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38685,7 +38080,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870943,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38720,7 +38115,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38775,7 +38170,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870944,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38810,7 +38205,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38868,7 +38263,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108873,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -38907,7 +38302,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777232,
+      "handle": 16777231,
       "name": "tbl_act_5",
       "table_type": "match",
       "size": 1,
@@ -38930,11 +38325,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_5",
-                "action_handle": 536870946,
+                "action_handle": 536870944,
                 "table_name": "tbl_act_11",
                 "next_table": 0,
                 "next_table_full": 129,
@@ -38952,7 +38347,7 @@
       "actions": [
         {
           "name": "act_5",
-          "handle": 536870946,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38971,7 +38366,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H8" } ]
+              "src": [ { "type": "phv", "name": "H7" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -38984,7 +38379,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870946,
+      "default_action_handle": 536870944,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -39000,7 +38395,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777233,
+      "handle": 16777232,
       "name": "tbl_act_3",
       "table_type": "match",
       "size": 512,
@@ -39023,14 +38418,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_3",
-                "action_handle": 536870947,
-                "table_name": "next_broadcast",
+                "action_handle": 536870945,
+                "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 130,
+                "next_table_full": 255,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -39045,7 +38440,7 @@
       "actions": [
         {
           "name": "act_3",
-          "handle": 536870947,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -39063,7 +38458,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870947,
+      "default_action_handle": 536870945,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -39077,7 +38472,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108875,
+          "handle": 67108874,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -39085,7 +38480,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108875,
+      "handle": 67108874,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -39106,12 +38501,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 79
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 3
         }
       ],
       "how_referenced": "indirect",
@@ -39120,2482 +38515,6 @@
       "byte_counter_resolution": 36,
       "packet_counter_resolution": 28,
       "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777234,
-      "name": "next.broadcast",
-      "table_type": "match",
-      "size": 3072,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554435,
-          "name": "next_broadcast$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108876,
-          "name": "next.broadcast_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870949,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "fabric_metadata.next_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "next_id"
-        }
-      ],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 8,
-            "size": 3072,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "hash_bit": 0,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 1,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 2,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 3,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 4,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 5,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 6,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 7,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 8,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 9,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 10,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 11,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 12,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 13,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 14,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 15,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 16,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 17,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 18,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 19,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 20,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 21,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 22,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 23,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 24,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 26,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 27,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 28,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 29,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870949,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 65,
-                "immediate_fields": []
-              },
-              {
-                "action_name": "next.set_mcast_group",
-                "action_handle": 536870948,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
-                "immediate_fields": [
-                  {
-                    "param_name": "gid",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 16,
-                    "dest_width": 16
-                  },
-                  {
-                    "param_name": "smac",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 16
-                  }
-                ]
-              }
-            ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "ways": [
-              {
-                "stage_number": 8,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 8,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 8,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 20,
-                  "hash_entry_bit_hi": 29,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870949,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870948,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108876,
-      "name": "next.broadcast_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 8,
-          "size": 4096,
-          "stage_table_type": "statistics",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] },
-              { "memory_units": [ 80 ], "vpns": [ 2 ] }
-            ],
-            "spare_bank_memory_unit": 80
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554435,
-      "name": "next_broadcast$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 8,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870949
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "smac"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870948
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 90
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870949,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870948,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ],
-      "how_referenced": "direct"
     }
   ],
   "configuration_cache": [
@@ -41637,7 +38556,7 @@
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000080000000010000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000080000000010000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
@@ -41647,7 +38566,7 @@
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000000100000000000000000000000000000000000000000000000000000000000000200000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000100000000000000000000000000000000000000000000000000000000000000100000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
@@ -41657,7 +38576,7 @@
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "00000009000000000000000000000000000000040000000000000000000000000000001c0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000009000000000000000000000000000000040000000000000000000000000000000e0000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
@@ -41667,7 +38586,7 @@
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000680000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000340000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
@@ -41682,7 +38601,7 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000400000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000200000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -41692,7 +38611,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[8].dp.xbar_hash.hash.parity_group_mask",
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/fabric.p4info b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/fabric.p4info
index 28fc18c..bc87bd3 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/fabric.p4info
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/fabric.p4info
@@ -143,34 +143,6 @@
 }
 tables {
   preamble {
-    id: 33615204
-    name: "forwarding.multicast_v4"
-    alias: "multicast_v4"
-  }
-  match_fields {
-    id: 1
-    name: "hdr.vlan_tag.vlan_id"
-    bitwidth: 12
-    match_type: EXACT
-  }
-  match_fields {
-    id: 2
-    name: "hdr.ipv4.dst_addr"
-    bitwidth: 32
-    match_type: LPM
-  }
-  action_refs {
-    id: 16829931
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 302009236
-  size: 1024
-}
-tables {
-  preamble {
     id: 33587782
     name: "forwarding.acl"
     alias: "acl"
@@ -323,28 +295,6 @@
   direct_resource_ids: 301993193
   size: 1024
 }
-tables {
-  preamble {
-    id: 33608545
-    name: "next.broadcast"
-    alias: "broadcast"
-  }
-  match_fields {
-    id: 1
-    name: "fabric_metadata.next_id"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16778974
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 301995093
-  size: 1024
-}
 actions {
   preamble {
     id: 16819938
@@ -493,23 +443,6 @@
 }
 actions {
   preamble {
-    id: 16778974
-    name: "next.set_mcast_group"
-    alias: "set_mcast_group"
-  }
-  params {
-    id: 1
-    name: "gid"
-    bitwidth: 16
-  }
-  params {
-    id: 2
-    name: "smac"
-    bitwidth: 48
-  }
-}
-actions {
-  preamble {
     id: 16841192
     name: "next.mpls_routing_v4"
     alias: "mpls_routing_v4"
@@ -651,17 +584,6 @@
 }
 direct_counters {
   preamble {
-    id: 302009236
-    name: "forwarding.multicast_v4_counter"
-    alias: "multicast_v4_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33615204
-}
-direct_counters {
-  preamble {
     id: 302000008
     name: "forwarding.acl_counter"
     alias: "acl_counter"
@@ -693,17 +615,6 @@
   }
   direct_table_id: 33569488
 }
-direct_counters {
-  preamble {
-    id: 301995093
-    name: "next.broadcast_counter"
-    alias: "broadcast_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33608545
-}
 controller_packet_metadata {
   preamble {
     id: 2868941301
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/tofino.bin b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/tofino.bin
index 61eaab9..4097cdd 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/tofino.bin
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/mavericks/tofino.bin
Binary files differ
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/context.json b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/context.json
index 6de94c1..71f34b0 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/context.json
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/context.json
@@ -1,5 +1,5 @@
 {
-  "build_date": "02/01/18 21:22:14",
+  "build_date": "02/04/18 01:26:22",
   "compiler_version": "6.0.0-alpha.4",
   "program_name": "main",
   "learn_quanta": [],
@@ -46,7 +46,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -63,7 +63,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -131,7 +131,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -142,7 +142,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -153,7 +153,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -187,7 +187,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -204,7 +204,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -329,7 +329,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -348,7 +348,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -367,7 +367,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -403,7 +403,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -422,7 +422,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -441,7 +441,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -455,23 +455,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -485,10 +468,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -524,10 +507,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -538,7 +521,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -549,7 +532,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -563,10 +546,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -580,7 +563,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -597,7 +580,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -614,7 +597,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -631,10 +614,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -648,7 +631,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -665,7 +648,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -682,7 +665,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -699,7 +682,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -719,7 +702,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -747,7 +730,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -786,7 +769,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -797,7 +780,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -825,7 +808,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -842,7 +825,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -870,7 +853,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -881,7 +864,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -892,7 +875,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -903,7 +886,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -914,7 +897,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -953,7 +936,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -964,7 +947,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1003,7 +986,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1014,7 +997,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1031,7 +1014,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1048,7 +1031,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1065,7 +1048,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1076,7 +1059,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1104,7 +1087,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1115,7 +1098,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1132,7 +1115,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -1149,7 +1132,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2198,7 +2181,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2215,7 +2198,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2283,7 +2266,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -2294,7 +2277,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2305,7 +2288,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2339,7 +2322,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2356,7 +2339,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2481,7 +2464,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -2500,7 +2483,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -2519,7 +2502,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -2555,7 +2538,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -2574,7 +2557,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -2593,7 +2576,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -2607,23 +2590,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2637,10 +2603,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2676,10 +2642,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2690,7 +2656,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2701,7 +2667,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2715,10 +2681,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -2732,7 +2698,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -2749,7 +2715,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -2766,7 +2732,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -2783,10 +2749,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -2800,7 +2766,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -2817,7 +2783,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -2834,7 +2800,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -2851,7 +2817,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -2871,7 +2837,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2899,7 +2865,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -2938,7 +2904,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2949,7 +2915,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2977,7 +2943,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -2994,7 +2960,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -3022,7 +2988,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3033,7 +2999,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3044,7 +3010,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3055,7 +3021,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3066,7 +3032,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3105,7 +3071,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3116,7 +3082,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3155,7 +3121,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3166,7 +3132,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3183,7 +3149,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3200,7 +3166,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3217,7 +3183,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3228,7 +3194,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3256,7 +3222,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3267,7 +3233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3284,7 +3250,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -3301,7 +3267,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4350,7 +4316,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4367,7 +4333,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -4435,7 +4401,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -4446,7 +4412,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4457,7 +4423,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4491,7 +4457,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4508,7 +4474,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -4633,7 +4599,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -4652,7 +4618,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -4671,7 +4637,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -4707,7 +4673,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -4726,7 +4692,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -4745,7 +4711,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -4759,23 +4725,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4789,10 +4738,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4828,10 +4777,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4842,7 +4791,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4853,7 +4802,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4867,10 +4816,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -4884,7 +4833,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -4901,7 +4850,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -4918,7 +4867,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -4935,10 +4884,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -4952,7 +4901,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -4969,7 +4918,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -4986,7 +4935,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -5003,7 +4952,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -5023,7 +4972,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5051,7 +5000,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -5090,7 +5039,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5101,7 +5050,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5129,7 +5078,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5146,7 +5095,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -5174,7 +5123,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5185,7 +5134,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5196,7 +5145,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5207,7 +5156,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5218,7 +5167,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5257,7 +5206,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5268,7 +5217,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5307,7 +5256,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5318,7 +5267,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5335,7 +5284,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5352,7 +5301,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5369,7 +5318,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5380,7 +5329,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5408,7 +5357,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5419,7 +5368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5436,7 +5385,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -5453,7 +5402,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6502,7 +6451,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6519,7 +6468,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -6587,7 +6536,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -6598,7 +6547,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6609,7 +6558,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6643,7 +6592,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6660,7 +6609,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -6785,7 +6734,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -6804,7 +6753,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -6823,7 +6772,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -6859,7 +6808,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -6878,7 +6827,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -6897,7 +6846,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -6911,23 +6860,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6941,10 +6873,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6980,10 +6912,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -6994,7 +6926,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7005,7 +6937,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7019,10 +6951,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -7036,7 +6968,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -7053,7 +6985,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -7070,7 +7002,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -7087,10 +7019,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7104,7 +7036,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -7121,7 +7053,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -7138,7 +7070,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -7155,7 +7087,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -7175,7 +7107,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7203,7 +7135,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -7242,7 +7174,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7253,7 +7185,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7281,7 +7213,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7298,7 +7230,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -7326,7 +7258,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7337,7 +7269,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7348,7 +7280,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7359,7 +7291,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7370,7 +7302,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7409,7 +7341,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7420,7 +7352,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7459,7 +7391,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7470,7 +7402,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7487,7 +7419,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7504,7 +7436,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7521,7 +7453,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7532,7 +7464,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7560,7 +7492,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7571,7 +7503,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7588,7 +7520,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -7605,7 +7537,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -8654,7 +8586,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8671,7 +8603,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -8739,7 +8671,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -8750,7 +8682,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8761,7 +8693,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8795,7 +8727,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8812,7 +8744,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -8937,7 +8869,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -8956,7 +8888,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -8975,7 +8907,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -9011,7 +8943,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -9030,7 +8962,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -9049,7 +8981,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -9063,23 +8995,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9093,10 +9008,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9132,10 +9047,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9146,7 +9061,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9157,7 +9072,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9171,10 +9086,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -9188,7 +9103,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -9205,7 +9120,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -9222,7 +9137,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -9239,10 +9154,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9256,7 +9171,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -9273,7 +9188,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -9290,7 +9205,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -9307,7 +9222,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -9327,7 +9242,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9355,7 +9270,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -9394,7 +9309,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9405,7 +9320,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9433,7 +9348,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9450,7 +9365,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -9478,7 +9393,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9489,7 +9404,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9500,7 +9415,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9511,7 +9426,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9522,7 +9437,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9561,7 +9476,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9572,7 +9487,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9611,7 +9526,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9622,7 +9537,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9639,7 +9554,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9656,7 +9571,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9673,7 +9588,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9684,7 +9599,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9712,7 +9627,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9723,7 +9638,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9740,7 +9655,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -9757,7 +9672,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -10806,7 +10721,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10823,7 +10738,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -10891,7 +10806,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -10902,7 +10817,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10913,7 +10828,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10947,7 +10862,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -10964,7 +10879,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11089,7 +11004,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -11108,7 +11023,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -11127,7 +11042,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -11163,7 +11078,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -11182,7 +11097,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -11201,7 +11116,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -11215,23 +11130,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11245,10 +11143,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11284,10 +11182,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11298,7 +11196,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11309,7 +11207,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11323,10 +11221,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -11340,7 +11238,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -11357,7 +11255,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -11374,7 +11272,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -11391,10 +11289,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11408,7 +11306,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -11425,7 +11323,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -11442,7 +11340,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -11459,7 +11357,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -11479,7 +11377,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11507,7 +11405,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -11546,7 +11444,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11557,7 +11455,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11585,7 +11483,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11602,7 +11500,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -11630,7 +11528,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11641,7 +11539,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11652,7 +11550,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11663,7 +11561,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11674,7 +11572,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11713,7 +11611,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11724,7 +11622,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11763,7 +11661,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11774,7 +11672,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11791,7 +11689,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11808,7 +11706,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11825,7 +11723,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11836,7 +11734,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11864,7 +11762,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11875,7 +11773,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11892,7 +11790,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -11909,7 +11807,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -12958,7 +12856,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -12975,7 +12873,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13043,7 +12941,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -13054,7 +12952,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13065,7 +12963,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13099,7 +12997,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13116,7 +13014,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13241,7 +13139,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -13260,7 +13158,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -13279,7 +13177,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -13315,7 +13213,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -13334,7 +13232,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -13353,7 +13251,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -13367,23 +13265,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13397,10 +13278,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13436,10 +13317,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13450,7 +13331,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13461,7 +13342,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13475,10 +13356,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -13492,7 +13373,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -13509,7 +13390,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -13526,7 +13407,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -13543,10 +13424,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13560,7 +13441,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -13577,7 +13458,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -13594,7 +13475,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -13611,7 +13492,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -13631,7 +13512,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13659,7 +13540,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -13698,7 +13579,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13709,7 +13590,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13737,7 +13618,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13754,7 +13635,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -13782,7 +13663,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13793,7 +13674,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13804,7 +13685,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13815,7 +13696,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13826,7 +13707,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13865,7 +13746,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13876,7 +13757,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13915,7 +13796,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13926,7 +13807,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13943,7 +13824,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13960,7 +13841,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13977,7 +13858,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -13988,7 +13869,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14016,7 +13897,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14027,7 +13908,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14044,7 +13925,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -14061,7 +13942,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15110,7 +14991,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15127,7 +15008,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15195,7 +15076,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -15206,7 +15087,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15217,7 +15098,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15251,7 +15132,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15268,7 +15149,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15393,7 +15274,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -15412,7 +15293,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -15431,7 +15312,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -15467,7 +15348,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -15486,7 +15367,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -15505,7 +15386,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -15519,23 +15400,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15549,10 +15413,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15588,10 +15452,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15602,7 +15466,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15613,7 +15477,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15627,10 +15491,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -15644,7 +15508,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -15661,7 +15525,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -15678,7 +15542,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -15695,10 +15559,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15712,7 +15576,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -15729,7 +15593,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -15746,7 +15610,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -15763,7 +15627,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -15783,7 +15647,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15811,7 +15675,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -15850,7 +15714,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15861,7 +15725,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15889,7 +15753,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15906,7 +15770,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -15934,7 +15798,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15945,7 +15809,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15956,7 +15820,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15967,7 +15831,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -15978,7 +15842,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16017,7 +15881,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16028,7 +15892,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16067,7 +15931,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16078,7 +15942,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16095,7 +15959,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16112,7 +15976,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16129,7 +15993,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16140,7 +16004,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16168,7 +16032,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16179,7 +16043,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16196,7 +16060,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -16213,7 +16077,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17262,7 +17126,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17279,7 +17143,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17347,7 +17211,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -17358,7 +17222,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17369,7 +17233,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17403,7 +17267,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17420,7 +17284,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -17545,7 +17409,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -17564,7 +17428,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -17583,7 +17447,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -17619,7 +17483,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -17638,7 +17502,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -17657,7 +17521,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -17671,23 +17535,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17701,10 +17548,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17740,10 +17587,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17754,7 +17601,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17765,7 +17612,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17779,10 +17626,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -17796,7 +17643,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -17813,7 +17660,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -17830,7 +17677,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -17847,10 +17694,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -17864,7 +17711,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -17881,7 +17728,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -17898,7 +17745,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -17915,7 +17762,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -17935,7 +17782,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -17963,7 +17810,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -18002,7 +17849,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18013,7 +17860,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18041,7 +17888,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18058,7 +17905,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -18086,7 +17933,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18097,7 +17944,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18108,7 +17955,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18119,7 +17966,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18130,7 +17977,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18169,7 +18016,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18180,7 +18027,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18219,7 +18066,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18230,7 +18077,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18247,7 +18094,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18264,7 +18111,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18281,7 +18128,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18292,7 +18139,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18320,7 +18167,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18331,7 +18178,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18348,7 +18195,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -18365,7 +18212,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19414,7 +19261,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19431,7 +19278,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -19499,7 +19346,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -19510,7 +19357,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19521,7 +19368,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19555,7 +19402,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19572,7 +19419,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -19697,7 +19544,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -19716,7 +19563,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -19735,7 +19582,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -19771,7 +19618,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -19790,7 +19637,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -19809,7 +19656,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -19823,23 +19670,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19853,10 +19683,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19892,10 +19722,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19906,7 +19736,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19917,7 +19747,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -19931,10 +19761,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -19948,7 +19778,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -19965,7 +19795,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -19982,7 +19812,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -19999,10 +19829,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20016,7 +19846,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -20033,7 +19863,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -20050,7 +19880,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -20067,7 +19897,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -20087,7 +19917,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20115,7 +19945,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -20154,7 +19984,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20165,7 +19995,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20193,7 +20023,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20210,7 +20040,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -20238,7 +20068,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20249,7 +20079,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20260,7 +20090,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20271,7 +20101,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20282,7 +20112,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20321,7 +20151,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20332,7 +20162,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20371,7 +20201,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20382,7 +20212,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20399,7 +20229,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20416,7 +20246,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20433,7 +20263,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20444,7 +20274,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20472,7 +20302,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20483,7 +20313,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20500,7 +20330,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -20517,7 +20347,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -21566,7 +21396,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21583,7 +21413,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -21651,7 +21481,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -21662,7 +21492,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21673,7 +21503,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21707,7 +21537,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21724,7 +21554,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -21849,7 +21679,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -21868,7 +21698,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -21887,7 +21717,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -21923,7 +21753,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -21942,7 +21772,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -21961,7 +21791,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -21975,23 +21805,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22005,10 +21818,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22044,10 +21857,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22058,7 +21871,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22069,7 +21882,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22083,10 +21896,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -22100,7 +21913,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -22117,7 +21930,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -22134,7 +21947,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -22151,10 +21964,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22168,7 +21981,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -22185,7 +21998,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -22202,7 +22015,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -22219,7 +22032,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -22239,7 +22052,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22267,7 +22080,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -22306,7 +22119,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22317,7 +22130,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22345,7 +22158,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22362,7 +22175,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -22390,7 +22203,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22401,7 +22214,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22412,7 +22225,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22423,7 +22236,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22434,7 +22247,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22473,7 +22286,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22484,7 +22297,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22523,7 +22336,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22534,7 +22347,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22551,7 +22364,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22568,7 +22381,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22585,7 +22398,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22596,7 +22409,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22624,7 +22437,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22635,7 +22448,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22652,7 +22465,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -22669,7 +22482,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -23718,7 +23531,7 @@
           "phv_number": 2,
           "records": [
             {
-              "position_offset": 80,
+              "position_offset": 78,
               "field_name": "ipv4.src_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23735,7 +23548,7 @@
           "phv_number": 3,
           "records": [
             {
-              "position_offset": 68,
+              "position_offset": 66,
               "field_name": "ipv4.dst_addr",
               "field_msb": 31,
               "field_lsb": 0,
@@ -23803,7 +23616,7 @@
           "phv_number": 66,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 3,
               "field_lsb": 0,
@@ -23814,7 +23627,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 92,
+              "position_offset": 90,
               "field_name": "mpls.tc",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23825,7 +23638,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 89,
+              "position_offset": 87,
               "field_name": "mpls.bos",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23859,7 +23672,7 @@
           "phv_number": 68,
           "records": [
             {
-              "position_offset": 86,
+              "position_offset": 84,
               "field_name": "ipv4.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -23876,7 +23689,7 @@
           "phv_number": 69,
           "records": [
             {
-              "position_offset": 93,
+              "position_offset": 91,
               "field_name": "mpls.ttl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24001,7 +23814,7 @@
               "pov_headers": [
                 {
                   "bit_index": 5,
-                  "position_offset": 66,
+                  "position_offset": 64,
                   "header_name": "ipv4",
                   "hidden": false
                 }
@@ -24020,7 +23833,7 @@
               "pov_headers": [
                 {
                   "bit_index": 6,
-                  "position_offset": 88,
+                  "position_offset": 86,
                   "header_name": "mpls",
                   "hidden": false
                 }
@@ -24039,7 +23852,7 @@
               "pov_headers": [
                 {
                   "bit_index": 7,
-                  "position_offset": 94,
+                  "position_offset": 92,
                   "header_name": "packet_out",
                   "hidden": false
                 }
@@ -24075,7 +23888,7 @@
               "pov_headers": [
                 {
                   "bit_index": 0,
-                  "position_offset": 97,
+                  "position_offset": 95,
                   "header_name": "tcp",
                   "hidden": false
                 }
@@ -24094,7 +23907,7 @@
               "pov_headers": [
                 {
                   "bit_index": 1,
-                  "position_offset": 124,
+                  "position_offset": 122,
                   "header_name": "udp",
                   "hidden": false
                 }
@@ -24113,7 +23926,7 @@
               "pov_headers": [
                 {
                   "bit_index": 2,
-                  "position_offset": 133,
+                  "position_offset": 131,
                   "header_name": "vlan_tag",
                   "hidden": false
                 }
@@ -24127,23 +23940,6 @@
           "records": [
             {
               "position_offset": 62,
-              "field_name": "ig_intr_md_for_tm.mcast_grp_a",
-              "field_msb": 15,
-              "field_lsb": 0,
-              "field_width": 2,
-              "phv_msb": 15,
-              "phv_lsb": 0,
-              "is_compiler_generated": false,
-              "is_pov": false
-            }
-          ],
-          "word_bit_width": 16
-        },
-        {
-          "phv_number": 129,
-          "records": [
-            {
-              "position_offset": 64,
               "field_name": "ig_intr_md_for_tm.ucast_egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24157,10 +23953,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 130,
+          "phv_number": 129,
           "records": [
             {
-              "position_offset": 95,
+              "position_offset": 93,
               "field_name": "packet_out.egress_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24196,10 +23992,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 131,
+          "phv_number": 130,
           "records": [
             {
-              "position_offset": 138,
+              "position_offset": 136,
               "field_name": "vlan_tag.pri",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24210,7 +24006,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 134,
+              "position_offset": 132,
               "field_name": "vlan_tag.cfi",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24221,7 +24017,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 140,
+              "position_offset": 138,
               "field_name": "vlan_tag.vlan_id",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24235,10 +24031,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 132,
+          "phv_number": 131,
           "records": [
             {
-              "position_offset": 90,
+              "position_offset": 88,
               "field_name": "mpls.label",
               "field_msb": 19,
               "field_lsb": 4,
@@ -24252,7 +24048,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 133,
+          "phv_number": 132,
           "records": [
             {
               "position_offset": 58,
@@ -24269,7 +24065,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 134,
+          "phv_number": 133,
           "records": [
             {
               "position_offset": 31,
@@ -24286,7 +24082,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 135,
+          "phv_number": 134,
           "records": [
             {
               "position_offset": 18,
@@ -24303,10 +24099,10 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 136,
+          "phv_number": 135,
           "records": [
             {
-              "position_offset": 136,
+              "position_offset": 134,
               "field_name": "vlan_tag.ether_type",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24320,7 +24116,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 137,
+          "phv_number": 136,
           "records": [
             {
               "position_offset": 12,
@@ -24337,7 +24133,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 138,
+          "phv_number": 137,
           "records": [
             {
               "position_offset": 20,
@@ -24354,7 +24150,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 139,
+          "phv_number": 138,
           "records": [
             {
               "position_offset": 29,
@@ -24371,7 +24167,7 @@
           "word_bit_width": 16
         },
         {
-          "phv_number": 140,
+          "phv_number": 139,
           "records": [
             {
               "position_offset": 37,
@@ -24391,7 +24187,7 @@
           "phv_number": 260,
           "records": [
             {
-              "position_offset": 114,
+              "position_offset": 112,
               "field_name": "tcp.seq_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24419,7 +24215,7 @@
           "phv_number": 261,
           "records": [
             {
-              "position_offset": 98,
+              "position_offset": 96,
               "field_name": "tcp.ack_no",
               "field_msb": 31,
               "field_lsb": 0,
@@ -24458,7 +24254,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 87,
+              "position_offset": 85,
               "field_name": "ipv4.version",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24469,7 +24265,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 78,
+              "position_offset": 76,
               "field_name": "ipv4.ihl",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24497,7 +24293,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 67,
+              "position_offset": 65,
               "field_name": "ipv4.diffserv",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24514,7 +24310,7 @@
           "phv_number": 294,
           "records": [
             {
-              "position_offset": 79,
+              "position_offset": 77,
               "field_name": "ipv4.protocol",
               "field_msb": 7,
               "field_lsb": 0,
@@ -24542,7 +24338,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 106,
+              "position_offset": 104,
               "field_name": "tcp.data_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24553,7 +24349,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 112,
+              "position_offset": 110,
               "field_name": "tcp.res",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24564,7 +24360,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 110,
+              "position_offset": 108,
               "field_name": "tcp.ecn",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24575,7 +24371,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 104,
+              "position_offset": 102,
               "field_name": "tcp.ctrl",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24586,7 +24382,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 131,
+              "position_offset": 129,
               "field_name": "udp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24625,7 +24421,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 118,
+              "position_offset": 116,
               "field_name": "tcp.src_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24636,7 +24432,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 127,
+              "position_offset": 125,
               "field_name": "udp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24675,7 +24471,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 72,
+              "position_offset": 70,
               "field_name": "ipv4.flags",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24686,7 +24482,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 74,
+              "position_offset": 72,
               "field_name": "ipv4.frag_offset",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24703,7 +24499,7 @@
           "phv_number": 329,
           "records": [
             {
-              "position_offset": 84,
+              "position_offset": 82,
               "field_name": "ipv4.total_len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24720,7 +24516,7 @@
           "phv_number": 330,
           "records": [
             {
-              "position_offset": 76,
+              "position_offset": 74,
               "field_name": "ipv4.identification",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24737,7 +24533,7 @@
           "phv_number": 331,
           "records": [
             {
-              "position_offset": 108,
+              "position_offset": 106,
               "field_name": "tcp.dst_port",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24748,7 +24544,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 129,
+              "position_offset": 127,
               "field_name": "udp.len",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24776,7 +24572,7 @@
           "phv_number": 338,
           "records": [
             {
-              "position_offset": 122,
+              "position_offset": 120,
               "field_name": "tcp.window",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24787,7 +24583,7 @@
               "is_pov": false
             },
             {
-              "position_offset": 125,
+              "position_offset": 123,
               "field_name": "udp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24804,7 +24600,7 @@
           "phv_number": 339,
           "records": [
             {
-              "position_offset": 102,
+              "position_offset": 100,
               "field_name": "tcp.checksum",
               "field_msb": 15,
               "field_lsb": 0,
@@ -24821,7 +24617,7 @@
           "phv_number": 340,
           "records": [
             {
-              "position_offset": 120,
+              "position_offset": 118,
               "field_name": "tcp.urgent_ptr",
               "field_msb": 15,
               "field_lsb": 0,
@@ -26083,8 +25879,8 @@
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
-                { "type": "phv", "name": "H2" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H1" },
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -26515,7 +26311,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
-              "src": [ { "type": "phv", "name": "H7" } ]
+              "src": [ { "type": "phv", "name": "H6" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -26532,7 +26328,7 @@
             },
             {
               "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "H3" },
+              "dest": { "type": "phv", "name": "H2" },
               "src": [ { "type": "immediate", "name": "$data0" } ]
             }
           ]
@@ -26567,7 +26363,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "immediate", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             }
           ]
@@ -26595,7 +26391,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
@@ -29790,7 +29586,7 @@
               "dest": { "type": "phv", "name": "fabric_metadata.fwd_type" },
               "src": [
                 { "type": "immediate", "name": "fwd_type" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
@@ -30048,8 +29844,8 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 2
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14
               },
               "action_format": [
                 {
@@ -30204,12 +30000,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 6 ], "vpns": [ 0 ] },
-              { "memory_units": [ 7 ], "vpns": [ 1 ] }
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 7
+            "spare_bank_memory_unit": 55
           },
-          "stats_alu_index": 0
+          "stats_alu_index": 2
         }
       ],
       "how_referenced": "direct",
@@ -30622,7 +30418,7 @@
                 "action_handle": 536870926,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 68,
+                "next_table_full": 66,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -30632,7 +30428,7 @@
                 "action_handle": 536870925,
                 "table_name": "tbl_act_9",
                 "next_table": 0,
-                "next_table_full": 68,
+                "next_table_full": 66,
                 "vliw_instruction": 1,
                 "vliw_instruction_full": 66,
                 "immediate_fields": [
@@ -30646,7 +30442,7 @@
                 ]
               }
             ],
-            "result_physical_buses": [ 14 ],
+            "result_physical_buses": [ 12, 14 ],
             "pack_format": [
               {
                 "memory_word_width": 128,
@@ -31017,7 +30813,7 @@
                   "hash_select_bit_hi": 40,
                   "hash_select_bit_lo": 40,
                   "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
+                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
                 }
               }
             ]
@@ -31138,7 +30934,7 @@
             "stage_number": 4,
             "size": 1,
             "stage_table_type": "match_with_no_key",
-            "logical_table_id": 4,
+            "logical_table_id": 2,
             "has_attached_gateway": true,
             "memory_resource_allocation": null,
             "default_next_table": 255,
@@ -31227,7 +31023,7 @@
             "stage_number": 4,
             "size": 512,
             "stage_table_type": "ternary_match",
-            "logical_table_id": 2,
+            "logical_table_id": 3,
             "has_attached_gateway": true,
             "pack_format": [
               {
@@ -31291,11 +31087,11 @@
             ],
             "memory_resource_allocation": {
               "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 5
+              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 2
             },
             "default_next_table": 0,
-            "result_physical_buses": [ 10 ],
+            "result_physical_buses": [ 4 ],
             "ternary_indirection_stage_table": {
               "stage_number": 4,
               "stage_table_type": "ternary_indirection",
@@ -31382,8 +31178,8 @@
               ],
               "memory_resource_allocation": {
                 "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 14
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2
               },
               "action_format": [
                 {
@@ -31515,7 +31311,7 @@
           "stage_number": 4,
           "size": 2048,
           "stage_table_type": "statistics",
-          "logical_table_id": 2,
+          "logical_table_id": 3,
           "pack_format": [
             {
               "table_word_width": 128,
@@ -31545,407 +31341,6 @@
     {
       "direction": "ingress",
       "handle": 16777227,
-      "name": "forwarding.multicast_v4",
-      "table_type": "match",
-      "size": 512,
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 4,
-            "size": 512,
-            "stage_table_type": "ternary_match",
-            "logical_table_id": 3,
-            "has_attached_gateway": true,
-            "pack_format": [
-              {
-                "table_word_width": 141,
-                "memory_word_width": 47,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 3,
-                "entries": [
-                  {
-                    "entry_number": 0,
-                    "fields": [
-                      {
-                        "field_name": "--tcam_payload_2--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_2--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 2,
-                        "msb_mem_word_idx": 2,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_1--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--tcam_parity_1--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 33,
-                        "lsb_mem_word_idx": 1,
-                        "msb_mem_word_idx": 1,
-                        "source": "spec",
-                        "start_bit": 24,
-                        "field_width": 8
-                      },
-                      {
-                        "field_name": "--tcam_payload_0--",
-                        "lsb_mem_word_offset": 0,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "payload",
-                        "start_bit": 0,
-                        "field_width": 1
-                      },
-                      {
-                        "field_name": "--version--",
-                        "lsb_mem_word_offset": 43,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "version",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "--tcam_parity_0--",
-                        "lsb_mem_word_offset": 45,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "parity",
-                        "start_bit": 0,
-                        "field_width": 2
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 1,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 16
-                      },
-                      {
-                        "field_name": "vlan_tag.vlan_id",
-                        "lsb_mem_word_offset": 17,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 8,
-                        "field_width": 4
-                      },
-                      {
-                        "field_name": "ipv4.dst_addr",
-                        "lsb_mem_word_offset": 25,
-                        "lsb_mem_word_idx": 0,
-                        "msb_mem_word_idx": 0,
-                        "source": "spec",
-                        "start_bit": 0,
-                        "field_width": 8
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "memory_resource_allocation": {
-              "memory_type": "tcam",
-              "memory_units_and_vpns": [ { "memory_units": [ 2, 3, 4 ], "vpns": [ 0 ] } ],
-              "spare_bank_memory_unit": 4
-            },
-            "default_next_table": 0,
-            "result_physical_buses": [ 4, 6, 8 ],
-            "ternary_indirection_stage_table": {
-              "stage_number": 4,
-              "stage_table_type": "ternary_indirection",
-              "size": 2048,
-              "pack_format": [
-                {
-                  "memory_word_width": 128,
-                  "table_word_width": 128,
-                  "entries_per_table_word": 2,
-                  "number_memory_units_per_table_word": 1,
-                  "entries": [
-                    {
-                      "entry_number": 1,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 64,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 66,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 98,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    },
-                    {
-                      "entry_number": 0,
-                      "fields": [
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 2,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "instr",
-                          "lsb_mem_word_offset": 0,
-                          "field_name": "action"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 32,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "immediate",
-                          "lsb_mem_word_offset": 2,
-                          "field_name": "immediate"
-                        },
-                        {
-                          "start_bit": 0,
-                          "enable_pfe": false,
-                          "field_width": 30,
-                          "lsb_mem_word_idx": 0,
-                          "msb_mem_word_idx": 0,
-                          "source": "zero",
-                          "lsb_mem_word_offset": 34,
-                          "field_name": "--padding_34_63--"
-                        }
-                      ]
-                    }
-                  ]
-                }
-              ],
-              "memory_resource_allocation": {
-                "memory_type": "sram",
-                "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
-                "spare_bank_memory_unit": 26
-              },
-              "action_format": [
-                {
-                  "action_name": "NoAction",
-                  "action_handle": 536870931,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 80,
-                  "vliw_instruction": 0,
-                  "vliw_instruction_full": 65,
-                  "immediate_fields": []
-                },
-                {
-                  "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870930,
-                  "table_name": "forwarding_acl",
-                  "next_table": 0,
-                  "next_table_full": 80,
-                  "vliw_instruction": 1,
-                  "vliw_instruction_full": 70,
-                  "immediate_fields": [
-                    {
-                      "param_name": "next_id",
-                      "param_type": "parameter",
-                      "param_shift": 0,
-                      "dest_start": 0,
-                      "dest_width": 32
-                    }
-                  ]
-                }
-              ]
-            }
-          }
-        ],
-        "match_type": "ternary"
-      },
-      "action_data_table_refs": [],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108871,
-          "name": "forwarding.multicast_v4_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870931,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": []
-        },
-        {
-          "name": "forwarding.set_next_id",
-          "handle": 536870930,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            {
-              "name": "next_id",
-              "start_bit": 0,
-              "position": 0,
-              "bit_width": 32
-            }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "is_action_meter_color_aware": false,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
-              "src": [ { "type": "immediate", "name": "next_id" } ]
-            }
-          ]
-        }
-      ],
-      "default_action_handle": 536870931,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "vlan_tag.vlan_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 12,
-          "bit_width_full": 12,
-          "is_valid": false,
-          "instance_name": "vlan_tag",
-          "field_name": "vlan_id"
-        },
-        {
-          "name": "ipv4.dst_addr",
-          "position": 1,
-          "match_type": "lpm",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "ipv4",
-          "field_name": "dst_addr"
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108871,
-      "name": "forwarding.multicast_v4_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 4,
-          "size": 2048,
-          "stage_table_type": "statistics",
-          "logical_table_id": 3,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
-            ],
-            "spare_bank_memory_unit": 55
-          },
-          "stats_alu_index": 2
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777228,
       "name": "forwarding.acl",
       "table_type": "match",
       "size": 256,
@@ -32440,7 +31835,7 @@
               "action_format": [
                 {
                   "action_name": "nop",
-                  "action_handle": 536870935,
+                  "action_handle": 536870933,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32450,7 +31845,7 @@
                 },
                 {
                   "action_name": "forwarding.set_next_id",
-                  "action_handle": 536870932,
+                  "action_handle": 536870930,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32468,7 +31863,7 @@
                 },
                 {
                   "action_name": "forwarding.duplicate_to_controller",
-                  "action_handle": 536870933,
+                  "action_handle": 536870931,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32487,7 +31882,7 @@
                 },
                 {
                   "action_name": "forwarding.drop",
-                  "action_handle": 536870934,
+                  "action_handle": 536870932,
                   "table_name": "next_simple",
                   "next_table": 0,
                   "next_table_full": 96,
@@ -32507,7 +31902,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108872,
+          "handle": 67108871,
           "name": "forwarding.acl_counter"
         }
       ],
@@ -32515,7 +31910,7 @@
       "actions": [
         {
           "name": "nop",
-          "handle": 536870935,
+          "handle": 536870933,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32534,7 +31929,7 @@
         },
         {
           "name": "forwarding.set_next_id",
-          "handle": 536870932,
+          "handle": 536870930,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32566,7 +31961,7 @@
         },
         {
           "name": "forwarding.duplicate_to_controller",
-          "handle": 536870933,
+          "handle": 536870931,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32587,14 +31982,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "immediate", "name": "$constant0" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "forwarding.drop",
-          "handle": 536870934,
+          "handle": 536870932,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -32615,13 +32010,13 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
               "src": [
                 { "type": "immmediate", "name": "1" },
-                { "type": "phv", "name": "H2" }
+                { "type": "phv", "name": "H1" }
               ]
             }
           ]
         }
       ],
-      "default_action_handle": 536870935,
+      "default_action_handle": 536870933,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -32764,7 +32159,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108872,
+      "handle": 67108871,
       "name": "forwarding.acl_counter",
       "table_type": "statistics",
       "size": 0,
@@ -32802,7 +32197,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777229,
+      "handle": 16777228,
       "name": "next.simple",
       "table_type": "match",
       "size": 3072,
@@ -32818,12 +32213,12 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108873,
+          "handle": 67108872,
           "name": "next.simple_counter"
         }
       ],
       "stateful_table_refs": [],
-      "default_action_handle": 536870940,
+      "default_action_handle": 536870938,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -34335,7 +33730,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870940,
+                "action_handle": 536870938,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -34345,7 +33740,7 @@
               },
               {
                 "action_name": "next.output",
-                "action_handle": 536870936,
+                "action_handle": 536870934,
                 "table_name": "next_hashed",
                 "next_table": 1,
                 "next_table_full": 114,
@@ -34355,7 +33750,7 @@
               },
               {
                 "action_name": "next.set_vlan_output",
-                "action_handle": 536870937,
+                "action_handle": 536870935,
                 "table_name": "next_hashed",
                 "next_table": 2,
                 "next_table_full": 114,
@@ -34365,7 +33760,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870938,
+                "action_handle": 536870936,
                 "table_name": "next_hashed",
                 "next_table": 3,
                 "next_table_full": 114,
@@ -34375,7 +33770,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870939,
+                "action_handle": 536870937,
                 "table_name": "next_hashed",
                 "next_table": 4,
                 "next_table_full": 114,
@@ -34827,7 +34222,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870940,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34845,7 +34240,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870936,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34872,14 +34267,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870937,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34912,7 +34307,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -34928,14 +34323,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870938,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -34964,7 +34359,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -34991,7 +34386,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870939,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35026,7 +34421,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -35083,7 +34478,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108873,
+      "handle": 67108872,
       "name": "next.simple_counter",
       "table_type": "statistics",
       "size": 0,
@@ -35154,7 +34549,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870940
+              "action_handle": 536870938
             },
             {
               "memory_word_width": 128,
@@ -35195,7 +34590,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870936
+              "action_handle": 536870934
             },
             {
               "memory_word_width": 128,
@@ -35254,7 +34649,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870937
+              "action_handle": 536870935
             },
             {
               "memory_word_width": 128,
@@ -35331,7 +34726,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870938
+              "action_handle": 536870936
             },
             {
               "memory_word_width": 128,
@@ -35408,7 +34803,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870939
+              "action_handle": 536870937
             }
           ],
           "memory_resource_allocation": {
@@ -35425,7 +34820,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870940,
+          "handle": 536870938,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35443,7 +34838,7 @@
         },
         {
           "name": "next.output",
-          "handle": 536870936,
+          "handle": 536870934,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35470,14 +34865,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.set_vlan_output",
-          "handle": 536870937,
+          "handle": 536870935,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35510,7 +34905,7 @@
               "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
               "src": [
                 { "type": "action_param", "name": "new_vlan_id" },
-                { "type": "phv", "name": "H3" }
+                { "type": "phv", "name": "H2" }
               ]
             },
             {
@@ -35526,14 +34921,14 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             }
           ]
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870938,
+          "handle": 536870936,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35562,7 +34957,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -35589,7 +34984,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870939,
+          "handle": 536870937,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35624,7 +35019,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -35682,7 +35077,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777230,
+      "handle": 16777229,
       "name": "tbl_act_2",
       "table_type": "match",
       "size": 1,
@@ -35709,7 +35104,7 @@
             "action_format": [
               {
                 "action_name": "act_2",
-                "action_handle": 536870941,
+                "action_handle": 536870939,
                 "table_name": "next_hashed",
                 "next_table": 0,
                 "next_table_full": 114,
@@ -35727,7 +35122,7 @@
       "actions": [
         {
           "name": "act_2",
-          "handle": 536870941,
+          "handle": 536870939,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -35755,7 +35150,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870941,
+      "default_action_handle": 536870939,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -35771,7 +35166,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777231,
+      "handle": 16777230,
       "name": "next.hashed",
       "table_type": "match",
       "size": 3072,
@@ -35793,14 +35188,14 @@
       "statistics_table_refs": [
         {
           "how_referenced": "direct",
-          "handle": 67108874,
+          "handle": 67108873,
           "name": "next.hashed_counter"
         }
       ],
       "stateful_table_refs": [],
       "default_selector_mask": 0,
       "default_selector_value": 0,
-      "default_action_handle": 536870945,
+      "default_action_handle": 536870943,
       "action_profile": "next.ecmp_selector",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -37452,7 +36847,7 @@
             "action_format": [
               {
                 "action_name": "NoAction",
-                "action_handle": 536870945,
+                "action_handle": 536870943,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37462,7 +36857,7 @@
               },
               {
                 "action_name": "next.l3_routing",
-                "action_handle": 536870942,
+                "action_handle": 536870940,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37472,7 +36867,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v4",
-                "action_handle": 536870943,
+                "action_handle": 536870941,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37482,7 +36877,7 @@
               },
               {
                 "action_name": "next.mpls_routing_v6",
-                "action_handle": 536870944,
+                "action_handle": 536870942,
                 "table_name": "tbl_act_13",
                 "next_table": 0,
                 "next_table_full": 128,
@@ -37943,7 +37338,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870945,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37961,7 +37356,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870942,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -37990,7 +37385,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38017,7 +37412,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870943,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38052,7 +37447,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38107,7 +37502,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870944,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38142,7 +37537,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38264,7 +37659,7 @@
                   ]
                 }
               ],
-              "action_handle": 536870945
+              "action_handle": 536870943
             },
             {
               "memory_word_width": 128,
@@ -38350,255 +37745,255 @@
                   ]
                 }
               ],
+              "action_handle": 536870940
+            },
+            {
+              "memory_word_width": 128,
+              "table_word_width": 256,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 2,
+              "entries": [
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 3,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
+                      "lsb_mem_word_offset": 1,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "$constant1"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 4,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 4,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 9,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "port_num"
+                    },
+                    {
+                      "start_bit": 4,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 48,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 80,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 8,
+                      "field_name": "--padding_8_31--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 7,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 41,
+                      "field_name": "--padding_41_47--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 96,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 1,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "--padding_96_191--"
+                    }
+                  ]
+                }
+              ],
+              "action_handle": 536870941
+            },
+            {
+              "memory_word_width": 128,
+              "table_word_width": 256,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 2,
+              "entries": [
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 3,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
+                      "lsb_mem_word_offset": 1,
+                      "field_name": "$constant0"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 1,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "constant",
+                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "$constant1"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 4,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 4,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 9,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "port_num"
+                    },
+                    {
+                      "start_bit": 4,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 48,
+                      "field_name": "label"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 80,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "dmac"
+                    },
+                    {
+                      "start_bit": 16,
+                      "field_width": 32,
+                      "lsb_mem_word_idx": 1,
+                      "msb_mem_word_idx": 1,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "smac"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 24,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 8,
+                      "field_name": "--padding_8_31--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 7,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 41,
+                      "field_name": "--padding_41_47--"
+                    },
+                    {
+                      "start_bit": 0,
+                      "field_width": 96,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 1,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "--padding_96_191--"
+                    }
+                  ]
+                }
+              ],
               "action_handle": 536870942
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 256,
-              "entries_per_table_word": 1,
-              "number_memory_units_per_table_word": 2,
-              "entries": [
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 3,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 4,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 4,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 9,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "port_num"
-                    },
-                    {
-                      "start_bit": 4,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 24,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 8,
-                      "field_name": "--padding_8_31--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 7,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 41,
-                      "field_name": "--padding_41_47--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 96,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 1,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_96_191--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870943
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 256,
-              "entries_per_table_word": 1,
-              "number_memory_units_per_table_word": 2,
-              "entries": [
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 3,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
-                      "lsb_mem_word_offset": 1,
-                      "field_name": "$constant0"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 1,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "constant",
-                      "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "$constant1"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 4,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 4,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 9,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "port_num"
-                    },
-                    {
-                      "start_bit": 4,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 48,
-                      "field_name": "label"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 16,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 80,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "dmac"
-                    },
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 1,
-                      "msb_mem_word_idx": 1,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 24,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 8,
-                      "field_name": "--padding_8_31--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 7,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 41,
-                      "field_name": "--padding_41_47--"
-                    },
-                    {
-                      "start_bit": 0,
-                      "field_width": 96,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 1,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_96_191--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870944
             }
           ],
           "memory_resource_allocation": {
@@ -38611,7 +38006,7 @@
       "actions": [
         {
           "name": "NoAction",
-          "handle": 536870945,
+          "handle": 536870943,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38629,7 +38024,7 @@
         },
         {
           "name": "next.l3_routing",
-          "handle": 536870942,
+          "handle": 536870940,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38658,7 +38053,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38685,7 +38080,7 @@
         },
         {
           "name": "next.mpls_routing_v4",
-          "handle": 536870943,
+          "handle": 536870941,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38720,7 +38115,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38775,7 +38170,7 @@
         },
         {
           "name": "next.mpls_routing_v6",
-          "handle": 536870944,
+          "handle": 536870942,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38810,7 +38205,7 @@
               "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
               "src": [
                 { "type": "action_param", "name": "port_num" },
-                { "type": "phv", "name": "H1" }
+                { "type": "phv", "name": "H0" }
               ]
             },
             {
@@ -38868,7 +38263,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108874,
+      "handle": 67108873,
       "name": "next.hashed_counter",
       "table_type": "statistics",
       "size": 0,
@@ -38907,7 +38302,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777232,
+      "handle": 16777231,
       "name": "tbl_act_5",
       "table_type": "match",
       "size": 1,
@@ -38930,11 +38325,11 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 1 ],
+            "result_physical_buses": [ 0 ],
             "action_format": [
               {
                 "action_name": "act_5",
-                "action_handle": 536870946,
+                "action_handle": 536870944,
                 "table_name": "tbl_act_11",
                 "next_table": 0,
                 "next_table_full": 129,
@@ -38952,7 +38347,7 @@
       "actions": [
         {
           "name": "act_5",
-          "handle": 536870946,
+          "handle": 536870944,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -38971,7 +38366,7 @@
             {
               "name": "ModifyFieldPrimitive",
               "dest": { "type": "phv", "name": "ethernet.ether_type" },
-              "src": [ { "type": "phv", "name": "H8" } ]
+              "src": [ { "type": "phv", "name": "H7" } ]
             },
             {
               "name": "ModifyFieldPrimitive",
@@ -38984,7 +38379,7 @@
           ]
         }
       ],
-      "default_action_handle": 536870946,
+      "default_action_handle": 536870944,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -39000,7 +38395,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 16777233,
+      "handle": 16777232,
       "name": "tbl_act_3",
       "table_type": "match",
       "size": 512,
@@ -39023,14 +38418,14 @@
                 "number_memory_units_per_table_word": 0
               }
             ],
-            "result_physical_buses": [ 0 ],
+            "result_physical_buses": [ 1 ],
             "action_format": [
               {
                 "action_name": "act_3",
-                "action_handle": 536870947,
-                "table_name": "next_broadcast",
+                "action_handle": 536870945,
+                "table_name": "--END_OF_PIPELINE--",
                 "next_table": 0,
-                "next_table_full": 130,
+                "next_table_full": 255,
                 "vliw_instruction": 0,
                 "vliw_instruction_full": 65,
                 "immediate_fields": []
@@ -39045,7 +38440,7 @@
       "actions": [
         {
           "name": "act_3",
-          "handle": 536870947,
+          "handle": 536870945,
           "indirect_resources": [],
           "allowed_as_default_action": true,
           "disallowed_as_default_action_reason": "",
@@ -39063,7 +38458,7 @@
           "primitives": []
         }
       ],
-      "default_action_handle": 536870947,
+      "default_action_handle": 536870945,
       "action_profile": "",
       "default_next_table_mask": 0,
       "ap_bind_indirect_res_to_match": [],
@@ -39077,7 +38472,7 @@
       "statistics_table_refs": [
         {
           "how_referenced": "indirect",
-          "handle": 67108875,
+          "handle": 67108874,
           "name": "port_counters_control.egress_port_counter"
         }
       ],
@@ -39085,7 +38480,7 @@
     },
     {
       "direction": "ingress",
-      "handle": 67108875,
+      "handle": 67108874,
       "name": "port_counters_control.egress_port_counter",
       "table_type": "statistics",
       "size": 511,
@@ -39106,12 +38501,12 @@
           "memory_resource_allocation": {
             "memory_type": "sram",
             "memory_units_and_vpns": [
-              { "memory_units": [ 54 ], "vpns": [ 0 ] },
-              { "memory_units": [ 55 ], "vpns": [ 1 ] }
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] }
             ],
-            "spare_bank_memory_unit": 55
+            "spare_bank_memory_unit": 79
           },
-          "stats_alu_index": 2
+          "stats_alu_index": 3
         }
       ],
       "how_referenced": "indirect",
@@ -39120,2482 +38515,6 @@
       "byte_counter_resolution": 36,
       "packet_counter_resolution": 28,
       "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 16777234,
-      "name": "next.broadcast",
-      "table_type": "match",
-      "size": 3072,
-      "action_data_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 33554435,
-          "name": "next_broadcast$action"
-        }
-      ],
-      "selection_table_refs": [],
-      "meter_table_refs": [],
-      "statistics_table_refs": [
-        {
-          "how_referenced": "direct",
-          "handle": 67108876,
-          "name": "next.broadcast_counter"
-        }
-      ],
-      "stateful_table_refs": [],
-      "default_action_handle": 536870949,
-      "action_profile": "",
-      "default_next_table_mask": 0,
-      "ap_bind_indirect_res_to_match": [],
-      "is_resource_controllable": true,
-      "uses_range": false,
-      "match_key_fields": [
-        {
-          "name": "fabric_metadata.next_id",
-          "position": 0,
-          "match_type": "exact",
-          "start_bit": 0,
-          "bit_width": 32,
-          "bit_width_full": 32,
-          "is_valid": false,
-          "instance_name": "fabric_metadata",
-          "field_name": "next_id"
-        }
-      ],
-      "match_attributes": {
-        "stage_tables": [
-          {
-            "stage_number": 8,
-            "size": 3072,
-            "stage_table_type": "hash_match",
-            "logical_table_id": 2,
-            "has_attached_gateway": false,
-            "hash_functions": [
-              {
-                "hash_bits": [
-                  {
-                    "hash_bit": 0,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 1,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 2,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 3,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 4,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 5,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 6,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 7,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 8,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 9,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 10,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 11,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 12,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 13,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 14,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 15,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 16,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 17,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 18,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 19,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 20,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 0,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 21,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 1,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 22,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 2,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 23,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 3,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 24,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 4,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 25,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 5,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 26,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 28,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 6,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 27,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 23,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 7,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 28,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 16,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 21,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 29,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 30,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 31,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 8,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 10,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 11,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 13,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 14,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  },
-                  {
-                    "hash_bit": 29,
-                    "seed": 0,
-                    "bits_to_xor": [
-                      {
-                        "field_bit": 17,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 18,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 19,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 20,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 22,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 24,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 25,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 26,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 27,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 9,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 12,
-                        "field_name": "fabric_metadata.next_id"
-                      },
-                      {
-                        "field_bit": 15,
-                        "field_name": "fabric_metadata.next_id"
-                      }
-                    ]
-                  }
-                ]
-              }
-            ],
-            "action_format": [
-              {
-                "action_name": "NoAction",
-                "action_handle": 536870949,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 0,
-                "vliw_instruction_full": 65,
-                "immediate_fields": []
-              },
-              {
-                "action_name": "next.set_mcast_group",
-                "action_handle": 536870948,
-                "table_name": "--END_OF_PIPELINE--",
-                "next_table": 0,
-                "next_table_full": 255,
-                "vliw_instruction": 1,
-                "vliw_instruction_full": 66,
-                "immediate_fields": [
-                  {
-                    "param_name": "gid",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 16,
-                    "dest_width": 16
-                  },
-                  {
-                    "param_name": "smac",
-                    "param_type": "parameter",
-                    "param_shift": 0,
-                    "dest_start": 0,
-                    "dest_width": 16
-                  }
-                ]
-              }
-            ],
-            "result_physical_buses": [ 14 ],
-            "pack_format": [
-              {
-                "memory_word_width": 128,
-                "table_word_width": 128,
-                "entries_per_table_word": 1,
-                "number_memory_units_per_table_word": 1
-              }
-            ],
-            "memory_resource_allocation": null,
-            "ways": [
-              {
-                "stage_number": 8,
-                "way_number": 0,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 0,
-                  "hash_entry_bit_hi": 9,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
-                }
-              },
-              {
-                "stage_number": 8,
-                "way_number": 1,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 10,
-                  "hash_entry_bit_hi": 19,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
-                }
-              },
-              {
-                "stage_number": 8,
-                "way_number": 2,
-                "stage_table_type": "hash_way",
-                "size": 1024,
-                "pack_format": [
-                  {
-                    "memory_word_width": 128,
-                    "table_word_width": 128,
-                    "entries_per_table_word": 1,
-                    "number_memory_units_per_table_word": 1,
-                    "entries": [
-                      {
-                        "entry_number": 0,
-                        "fields": [
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "instr",
-                            "lsb_mem_word_offset": 0,
-                            "field_name": "action",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 32,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "immediate",
-                            "lsb_mem_word_offset": 1,
-                            "field_name": "immediate",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 4,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "version",
-                            "lsb_mem_word_offset": 112,
-                            "field_name": "version",
-                            "match_mode": "s1q0"
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 34,
-                            "start_bit": 10,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 6
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 40,
-                            "start_bit": 16,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "field_name": "fabric_metadata.next_id",
-                            "source": "spec",
-                            "lsb_mem_word_offset": 48,
-                            "start_bit": 24,
-                            "immediate_name": "",
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "match_mode": "unused",
-                            "enable_pfe": false,
-                            "field_width": 8
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 1,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 33,
-                            "field_name": "--padding_33_33--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 56,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 56,
-                            "field_name": "--padding_56_111--",
-                            "match_mode": "unused"
-                          },
-                          {
-                            "start_bit": 0,
-                            "enable_pfe": false,
-                            "field_width": 12,
-                            "lsb_mem_word_idx": 0,
-                            "msb_mem_word_idx": 0,
-                            "source": "zero",
-                            "lsb_mem_word_offset": 116,
-                            "field_name": "--padding_116_127--",
-                            "match_mode": "unused"
-                          }
-                        ]
-                      }
-                    ]
-                  }
-                ],
-                "memory_resource_allocation": {
-                  "hash_function_id": 0,
-                  "hash_entry_bit_lo": 20,
-                  "hash_entry_bit_hi": 29,
-                  "number_entry_bits": 10,
-                  "hash_select_bit_hi": 40,
-                  "hash_select_bit_lo": 40,
-                  "number_select_bits": 0,
-                  "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
-                }
-              }
-            ]
-          }
-        ],
-        "match_type": "exact",
-        "uses_dynamic_key_masks": false
-      },
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870949,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870948,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "direction": "ingress",
-      "handle": 67108876,
-      "name": "next.broadcast_counter",
-      "table_type": "statistics",
-      "size": 0,
-      "stage_tables": [
-        {
-          "stage_number": 8,
-          "size": 4096,
-          "stage_table_type": "statistics",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "table_word_width": 128,
-              "memory_word_width": 128,
-              "entries_per_table_word": 2,
-              "number_memory_units_per_table_word": 1
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [
-              { "memory_units": [ 78 ], "vpns": [ 0 ] },
-              { "memory_units": [ 79 ], "vpns": [ 1 ] },
-              { "memory_units": [ 80 ], "vpns": [ 2 ] }
-            ],
-            "spare_bank_memory_unit": 80
-          },
-          "stats_alu_index": 3
-        }
-      ],
-      "how_referenced": "direct",
-      "enable_pfe": false,
-      "pfe_bit_position": 0,
-      "byte_counter_resolution": 36,
-      "packet_counter_resolution": 28,
-      "statistics_type": "packets_and_bytes"
-    },
-    {
-      "direction": "ingress",
-      "handle": 33554435,
-      "name": "next_broadcast$action",
-      "table_type": "action",
-      "size": 4096,
-      "stage_tables": [
-        {
-          "stage_number": 8,
-          "size": 4096,
-          "stage_table_type": "action_data",
-          "logical_table_id": 2,
-          "pack_format": [
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 0,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "zero",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "--padding_0_31--"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870949
-            },
-            {
-              "memory_word_width": 128,
-              "table_word_width": 128,
-              "entries_per_table_word": 4,
-              "number_memory_units_per_table_word": 1,
-              "entries": [
-                {
-                  "entry_number": 3,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 96,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 2,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 64,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 1,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 32,
-                      "field_name": "smac"
-                    }
-                  ]
-                },
-                {
-                  "entry_number": 0,
-                  "fields": [
-                    {
-                      "start_bit": 16,
-                      "field_width": 32,
-                      "lsb_mem_word_idx": 0,
-                      "msb_mem_word_idx": 0,
-                      "source": "spec",
-                      "lsb_mem_word_offset": 0,
-                      "field_name": "smac"
-                    }
-                  ]
-                }
-              ],
-              "action_handle": 536870948
-            }
-          ],
-          "memory_resource_allocation": {
-            "memory_type": "sram",
-            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
-            "spare_bank_memory_unit": 90
-          }
-        }
-      ],
-      "actions": [
-        {
-          "name": "NoAction",
-          "handle": 536870949,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": []
-        },
-        {
-          "name": "next.set_mcast_group",
-          "handle": 536870948,
-          "indirect_resources": [],
-          "allowed_as_default_action": true,
-          "disallowed_as_default_action_reason": "",
-          "p4_parameters": [
-            { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
-            { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
-          ],
-          "override_meter_addr": false,
-          "override_meter_addr_pfe": false,
-          "override_meter_full_addr": 0,
-          "override_stat_addr": false,
-          "override_stat_addr_pfe": false,
-          "override_stat_full_addr": 0,
-          "override_stateful_addr": false,
-          "override_stateful_addr_pfe": false,
-          "override_stateful_full_addr": 0,
-          "primitives": [
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
-              "src": [ { "type": "immediate", "name": "gid" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
-              "src": [ { "type": "immediate", "name": "smac.0-15" } ]
-            },
-            {
-              "name": "ModifyFieldPrimitive",
-              "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
-              "src": [ { "type": "action_param", "name": "smac.16-47" } ]
-            }
-          ]
-        }
-      ],
-      "how_referenced": "direct"
     }
   ],
   "configuration_cache": [
@@ -41637,7 +38556,7 @@
     {
       "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
       "name": "stage_2_match_input_xbar_din_power_ctl",
-      "value": "0000000000000000000000000000000000000080000000010000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000080000000010000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
@@ -41647,7 +38566,7 @@
     {
       "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
       "name": "stage_3_match_input_xbar_din_power_ctl",
-      "value": "0000000100000000000000000000000000000000000000000000000000000000000000200000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000100000000000000000000000000000000000000000000000000000000000000100000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
@@ -41657,7 +38576,7 @@
     {
       "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
       "name": "stage_4_match_input_xbar_din_power_ctl",
-      "value": "00000009000000000000000000000000000000040000000000000000000000000000001c0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "00000009000000000000000000000000000000040000000000000000000000000000000e0000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
@@ -41667,7 +38586,7 @@
     {
       "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
       "name": "stage_5_match_input_xbar_din_power_ctl",
-      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000680000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000f00000000000000000000000000000043000000000000000000000000000000340000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
@@ -41682,7 +38601,7 @@
     {
       "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
       "name": "stage_7_match_input_xbar_din_power_ctl",
-      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000400000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000200000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
@@ -41692,7 +38611,7 @@
     {
       "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
       "name": "stage_8_match_input_xbar_din_power_ctl",
-      "value": "0000001000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+      "value": "0000000000000000000000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
     },
     {
       "fully_qualified_name": "mau[8].dp.xbar_hash.hash.parity_group_mask",
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/fabric.p4info b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/fabric.p4info
index 28fc18c..bc87bd3 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/fabric.p4info
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/fabric.p4info
@@ -143,34 +143,6 @@
 }
 tables {
   preamble {
-    id: 33615204
-    name: "forwarding.multicast_v4"
-    alias: "multicast_v4"
-  }
-  match_fields {
-    id: 1
-    name: "hdr.vlan_tag.vlan_id"
-    bitwidth: 12
-    match_type: EXACT
-  }
-  match_fields {
-    id: 2
-    name: "hdr.ipv4.dst_addr"
-    bitwidth: 32
-    match_type: LPM
-  }
-  action_refs {
-    id: 16829931
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 302009236
-  size: 1024
-}
-tables {
-  preamble {
     id: 33587782
     name: "forwarding.acl"
     alias: "acl"
@@ -323,28 +295,6 @@
   direct_resource_ids: 301993193
   size: 1024
 }
-tables {
-  preamble {
-    id: 33608545
-    name: "next.broadcast"
-    alias: "broadcast"
-  }
-  match_fields {
-    id: 1
-    name: "fabric_metadata.next_id"
-    bitwidth: 32
-    match_type: EXACT
-  }
-  action_refs {
-    id: 16778974
-  }
-  action_refs {
-    id: 16800567
-    annotations: "@defaultonly()"
-  }
-  direct_resource_ids: 301995093
-  size: 1024
-}
 actions {
   preamble {
     id: 16819938
@@ -493,23 +443,6 @@
 }
 actions {
   preamble {
-    id: 16778974
-    name: "next.set_mcast_group"
-    alias: "set_mcast_group"
-  }
-  params {
-    id: 1
-    name: "gid"
-    bitwidth: 16
-  }
-  params {
-    id: 2
-    name: "smac"
-    bitwidth: 48
-  }
-}
-actions {
-  preamble {
     id: 16841192
     name: "next.mpls_routing_v4"
     alias: "mpls_routing_v4"
@@ -651,17 +584,6 @@
 }
 direct_counters {
   preamble {
-    id: 302009236
-    name: "forwarding.multicast_v4_counter"
-    alias: "multicast_v4_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33615204
-}
-direct_counters {
-  preamble {
     id: 302000008
     name: "forwarding.acl_counter"
     alias: "acl_counter"
@@ -693,17 +615,6 @@
   }
   direct_table_id: 33569488
 }
-direct_counters {
-  preamble {
-    id: 301995093
-    name: "next.broadcast_counter"
-    alias: "broadcast_counter"
-  }
-  spec {
-    unit: BOTH
-  }
-  direct_table_id: 33608545
-}
 controller_packet_metadata {
   preamble {
     id: 2868941301
diff --git a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/tofino.bin b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/tofino.bin
index c0d72a5..847f5f1 100644
--- a/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/tofino.bin
+++ b/pipelines/fabric-pro/src/main/resources/p4c-out/tofino/fabric/montana/tofino.bin
Binary files differ